blob: 2c338d032f4ff54a0b9d5d678bae14c3db5363f3 [file] [log] [blame]
Anthony Barbier871448e2017-03-24 14:54:29 +00001<!-- HTML header for doxygen 1.8.9.1-->
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml">
4<head>
5<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
6<meta http-equiv="X-UA-Compatible" content="IE=9"/>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007<meta name="generator" content="Doxygen 1.8.11"/>
Anthony Barbier871448e2017-03-24 14:54:29 +00008<meta name="robots" content="NOINDEX, NOFOLLOW" /> <!-- Prevent indexing by search engines -->
Anthony Barbierdbdab852017-06-23 15:42:00 +01009<title>Compute Library: src/core/CL/cl_kernels/helpers.h File Reference</title>
Anthony Barbier871448e2017-03-24 14:54:29 +000010<link href="tabs.css" rel="stylesheet" type="text/css"/>
11<script type="text/javascript" src="jquery.js"></script>
12<script type="text/javascript" src="dynsections.js"></script>
13<link href="navtree.css" rel="stylesheet" type="text/css"/>
14<script type="text/javascript" src="resize.js"></script>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015<script type="text/javascript" src="navtreedata.js"></script>
Anthony Barbier871448e2017-03-24 14:54:29 +000016<script type="text/javascript" src="navtree.js"></script>
17<script type="text/javascript">
18 $(document).ready(initResizable);
19 $(window).load(resizeHeight);
20</script>
21<link href="search/search.css" rel="stylesheet" type="text/css"/>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000022<script type="text/javascript" src="search/searchdata.js"></script>
Anthony Barbier871448e2017-03-24 14:54:29 +000023<script type="text/javascript" src="search/search.js"></script>
24<script type="text/javascript">
Anthony Barbier8140e1e2017-12-14 23:48:46 +000025 $(document).ready(function() { init_search(); });
Anthony Barbier871448e2017-03-24 14:54:29 +000026</script>
27<script type="text/x-mathjax-config">
28 MathJax.Hub.Config({
29 extensions: ["tex2jax.js"],
30 jax: ["input/TeX","output/HTML-CSS"],
31});
Anthony Barbier8140e1e2017-12-14 23:48:46 +000032</script><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
Anthony Barbier871448e2017-03-24 14:54:29 +000033<link href="doxygen.css" rel="stylesheet" type="text/css" />
34</head>
35<body>
36<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
37<div id="titlearea">
38<table cellspacing="0" cellpadding="0">
39 <tbody>
40 <tr style="height: 56px;">
41 <td style="padding-left: 0.5em;">
Anthony Barbierdbdab852017-06-23 15:42:00 +010042 <div id="projectname">Compute Library
Jenkinsb3a371b2018-05-23 11:36:53 +010043 &#160;<span id="projectnumber">18.05</span>
Anthony Barbier871448e2017-03-24 14:54:29 +000044 </div>
45 </td>
46 </tr>
47 </tbody>
48</table>
49</div>
50<!-- end header part -->
Anthony Barbier8140e1e2017-12-14 23:48:46 +000051<!-- Generated by Doxygen 1.8.11 -->
Anthony Barbier871448e2017-03-24 14:54:29 +000052<script type="text/javascript">
53var searchBox = new SearchBox("searchBox", "search",false,'Search');
54</script>
55 <div id="navrow1" class="tabs">
56 <ul class="tablist">
57 <li><a href="index.xhtml"><span>Main&#160;Page</span></a></li>
Anthony Barbierdbdab852017-06-23 15:42:00 +010058 <li><a href="pages.xhtml"><span>Related&#160;Pages</span></a></li>
Anthony Barbier871448e2017-03-24 14:54:29 +000059 <li><a href="namespaces.xhtml"><span>Namespaces</span></a></li>
60 <li><a href="annotated.xhtml"><span>Data&#160;Structures</span></a></li>
61 <li class="current"><a href="files.xhtml"><span>Files</span></a></li>
62 <li>
63 <div id="MSearchBox" class="MSearchBoxInactive">
64 <span class="left">
65 <img id="MSearchSelect" src="search/mag_sel.png"
66 onmouseover="return searchBox.OnSearchSelectShow()"
67 onmouseout="return searchBox.OnSearchSelectHide()"
68 alt=""/>
69 <input type="text" id="MSearchField" value="Search" accesskey="S"
70 onfocus="searchBox.OnSearchFieldFocus(true)"
71 onblur="searchBox.OnSearchFieldFocus(false)"
72 onkeyup="searchBox.OnSearchFieldChange(event)"/>
73 </span><span class="right">
74 <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
75 </span>
76 </div>
77 </li>
78 </ul>
79 </div>
80 <div id="navrow2" class="tabs2">
81 <ul class="tablist">
82 <li><a href="files.xhtml"><span>File&#160;List</span></a></li>
83 <li><a href="globals.xhtml"><span>Globals</span></a></li>
84 </ul>
85 </div>
86</div><!-- top -->
87<div id="side-nav" class="ui-resizable side-nav-resizable">
88 <div id="nav-tree">
89 <div id="nav-tree-contents">
90 <div id="nav-sync" class="sync"></div>
91 </div>
92 </div>
93 <div id="splitbar" style="-moz-user-select:none;"
94 class="ui-resizable-handle">
95 </div>
96</div>
97<script type="text/javascript">
98$(document).ready(function(){initNavTree('helpers_8h.xhtml','');});
99</script>
100<div id="doc-content">
101<!-- window showing the filter options -->
102<div id="MSearchSelectWindow"
103 onmouseover="return searchBox.OnSearchSelectShow()"
104 onmouseout="return searchBox.OnSearchSelectHide()"
105 onkeydown="return searchBox.OnSearchSelectKey(event)">
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000106</div>
Anthony Barbier871448e2017-03-24 14:54:29 +0000107
108<!-- iframe showing the search results (closed by default) -->
109<div id="MSearchResultsWindow">
110<iframe src="javascript:void(0)" frameborder="0"
111 name="MSearchResults" id="MSearchResults">
112</iframe>
113</div>
114
115<div class="header">
116 <div class="summary">
117<a href="#nested-classes">Data Structures</a> &#124;
118<a href="#define-members">Macros</a> &#124;
119<a href="#typedef-members">Typedefs</a> &#124;
120<a href="#func-members">Functions</a> </div>
121 <div class="headertitle">
122<div class="title">helpers.h File Reference</div> </div>
123</div><!--header-->
124<div class="contents">
125
126<p><a href="helpers_8h_source.xhtml">Go to the source code of this file.</a></p>
127<table class="memberdecls">
128<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
129Data Structures</h2></td></tr>
130<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vector.xhtml">Vector</a></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000131<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Structure to hold <a class="el" href="struct_vector.xhtml" title="Structure to hold Vector information. ">Vector</a> information. <a href="struct_vector.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000132<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
133<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_image.xhtml">Image</a></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000134<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Structure to hold <a class="el" href="struct_image.xhtml" title="Structure to hold Image information. ">Image</a> information. <a href="struct_image.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000135<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
136<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_tensor3_d.xhtml">Tensor3D</a></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000137<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Structure to hold 3D tensor information. <a href="struct_tensor3_d.xhtml#details">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100138<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +0000139<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_tensor4_d.xhtml">Tensor4D</a></td></tr>
140<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Structure to hold 4D tensor information. <a href="struct_tensor4_d.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000141<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
142</table><table class="memberdecls">
143<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
144Macros</h2></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100145<tr class="memitem:ae4b532a93c757194ec73b6790a3e6b1f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#ae4b532a93c757194ec73b6790a3e6b1f">EXPAND</a>(x)&#160;&#160;&#160;x</td></tr>
146<tr class="separator:ae4b532a93c757194ec73b6790a3e6b1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000147<tr class="memitem:aabdbe431f2713c5c2604cb9872b66aab"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#aabdbe431f2713c5c2604cb9872b66aab">CLAMP</a>(x, min_val, max_val)&#160;&#160;&#160;min(max(x, min_val), max_val)</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000148<tr class="separator:aabdbe431f2713c5c2604cb9872b66aab"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +0100149<tr class="memitem:a29367a809c14c294feefc1a8dad93752"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a29367a809c14c294feefc1a8dad93752">VLOAD_STR</a>(size)&#160;&#160;&#160;vload##size</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100150<tr class="separator:a29367a809c14c294feefc1a8dad93752"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +0100151<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>(size)&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a29367a809c14c294feefc1a8dad93752">VLOAD_STR</a>(size)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100152<tr class="separator:a287e2fc366c312b468382c95bb90f91f"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +0100153<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>(size)&#160;&#160;&#160;vstore##size</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100154<tr class="separator:aeedcb2d8b4b0ce17747474d4da15f199"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +0100155<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>(size)&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#aeedcb2d8b4b0ce17747474d4da15f199">VSTORE_STR</a>(size)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100156<tr class="separator:acb282042d1edeeaa3cc979a206f78b54"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +0100157<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, size)&#160;&#160;&#160;type##size</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000158<tr class="separator:ae802822defb0fa3a7f74f98e324696cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +0100159<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, size)&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#ae802822defb0fa3a7f74f98e324696cb">VEC_DATA_TYPE_STR</a>(type, size)</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000160<tr class="separator:a36f754c05b6fddf6df0d8d0a74f8159f"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +0100161<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, size)&#160;&#160;&#160;type##size</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000162<tr class="separator:aa38f54499d4724c4ab01f6da100b603b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +0100163<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, size)&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#aa38f54499d4724c4ab01f6da100b603b">CL_VEC_DATA_TYPE_STR</a>(type, size)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000164<tr class="separator:a0f6ad555d097377151003a5119ccee45"><td class="memSeparator" colspan="2">&#160;</td></tr>
165<tr class="memitem:a4090567b3adb034c7cc1af308cb45670"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a4090567b3adb034c7cc1af308cb45670">CONVERT_STR</a>(x, type)&#160;&#160;&#160;(convert_##type((x)))</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000166<tr class="separator:a4090567b3adb034c7cc1af308cb45670"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000167<tr class="memitem:aa8d95ba04fc73845abc6045952cae5be"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#aa8d95ba04fc73845abc6045952cae5be">CONVERT</a>(x, type)&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a4090567b3adb034c7cc1af308cb45670">CONVERT_STR</a>(x, type)</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000168<tr class="separator:aa8d95ba04fc73845abc6045952cae5be"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000169<tr class="memitem:a4e0fc93c9a69863dcdf7672ab547026c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a4e0fc93c9a69863dcdf7672ab547026c">CONVERT_SAT_STR</a>(x, type)&#160;&#160;&#160;(convert_##type##_sat((x)))</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000170<tr class="separator:a4e0fc93c9a69863dcdf7672ab547026c"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000171<tr class="memitem:a23fb01b6f3453cc0e48a026fd44f6acd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a23fb01b6f3453cc0e48a026fd44f6acd">CONVERT_SAT</a>(x, type)&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a4e0fc93c9a69863dcdf7672ab547026c">CONVERT_SAT_STR</a>(x, type)</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000172<tr class="separator:a23fb01b6f3453cc0e48a026fd44f6acd"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000173<tr class="memitem:a341a0c28698c3f6bd171df1771c5a512"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a341a0c28698c3f6bd171df1771c5a512">CONVERT_SAT_ROUND_STR</a>(x, type, round)&#160;&#160;&#160;(convert_##type##_sat_##round((x)))</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000174<tr class="separator:a341a0c28698c3f6bd171df1771c5a512"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000175<tr class="memitem:a28b2b123792a5b11a32cb05a6d327437"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a28b2b123792a5b11a32cb05a6d327437">CONVERT_SAT_ROUND</a>(x, type, round)&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a341a0c28698c3f6bd171df1771c5a512">CONVERT_SAT_ROUND_STR</a>(x, type, round)</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000176<tr class="separator:a28b2b123792a5b11a32cb05a6d327437"><td class="memSeparator" colspan="2">&#160;</td></tr>
177<tr class="memitem:a40a6eb9f2a7712f08d6bb8ff6c9e6ca7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a40a6eb9f2a7712f08d6bb8ff6c9e6ca7">VECTOR_DECLARATION</a>(name)</td></tr>
178<tr class="separator:a40a6eb9f2a7712f08d6bb8ff6c9e6ca7"><td class="memSeparator" colspan="2">&#160;</td></tr>
179<tr class="memitem:a22f42fcf2077d951271df83b55c1a71a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a22f42fcf2077d951271df83b55c1a71a">IMAGE_DECLARATION</a>(name)</td></tr>
180<tr class="separator:a22f42fcf2077d951271df83b55c1a71a"><td class="memSeparator" colspan="2">&#160;</td></tr>
181<tr class="memitem:a6b83038822d1ae7ab619b684ed3b7fc0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a6b83038822d1ae7ab619b684ed3b7fc0">TENSOR3D_DECLARATION</a>(name)</td></tr>
182<tr class="separator:a6b83038822d1ae7ab619b684ed3b7fc0"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100183<tr class="memitem:a481bdc6d61b3df9dcdbdb244f0f97790"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a481bdc6d61b3df9dcdbdb244f0f97790">TENSOR4D_DECLARATION</a>(name)</td></tr>
184<tr class="separator:a481bdc6d61b3df9dcdbdb244f0f97790"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000185<tr class="memitem:a527bfdf5eeb306f1cf01c4a8e29f38e0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a527bfdf5eeb306f1cf01c4a8e29f38e0">CONVERT_TO_VECTOR_STRUCT</a>(name)&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a8fee90913ba658b25516a43cf71e5cbd">update_vector_workitem_ptr</a>(name##_ptr, name##_offset_first_element_in_bytes, name##_stride_x, name##_step_x)</td></tr>
186<tr class="separator:a527bfdf5eeb306f1cf01c4a8e29f38e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
187<tr class="memitem:a64d779f80eeb923e0ab2313433f7b40b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a64d779f80eeb923e0ab2313433f7b40b">CONVERT_TO_VECTOR_STRUCT_NO_STEP</a>(name)&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a8fee90913ba658b25516a43cf71e5cbd">update_vector_workitem_ptr</a>(name##_ptr, name##_offset_first_element_in_bytes, name##_stride_x, 0)</td></tr>
188<tr class="separator:a64d779f80eeb923e0ab2313433f7b40b"><td class="memSeparator" colspan="2">&#160;</td></tr>
189<tr class="memitem:aebe814363556c244be043b13e7969197"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#aebe814363556c244be043b13e7969197">CONVERT_TO_IMAGE_STRUCT</a>(name)&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a0a4395130f74a4293a7d3a19d8fac86d">update_image_workitem_ptr</a>(name##_ptr, name##_offset_first_element_in_bytes, name##_stride_x, name##_step_x, name##_stride_y, name##_step_y)</td></tr>
190<tr class="separator:aebe814363556c244be043b13e7969197"><td class="memSeparator" colspan="2">&#160;</td></tr>
191<tr class="memitem:a4334a4a76f8e9628c0fb9e1acf616e2a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a4334a4a76f8e9628c0fb9e1acf616e2a">CONVERT_TO_IMAGE_STRUCT_NO_STEP</a>(name)&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a0a4395130f74a4293a7d3a19d8fac86d">update_image_workitem_ptr</a>(name##_ptr, name##_offset_first_element_in_bytes, name##_stride_x, 0, name##_stride_y, 0)</td></tr>
192<tr class="separator:a4334a4a76f8e9628c0fb9e1acf616e2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100193<tr class="memitem:a541f8db866a0fa93ee67d58ea31a7d0c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a541f8db866a0fa93ee67d58ea31a7d0c">CONVERT_TENSOR3D_TO_IMAGE_STRUCT</a>(name)&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a65fd24237c8278ecb38183f93cc70f05">update_image_from_tensor3D_workitem_ptr</a>(name##_ptr, name##_offset_first_element_in_bytes, name##_stride_x, name##_step_x, name##_stride_y, name##_step_y, name##_stride_z, name##_step_z)</td></tr>
194<tr class="separator:a541f8db866a0fa93ee67d58ea31a7d0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
195<tr class="memitem:a071aa45af973feac43b14f62e54a6fce"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a071aa45af973feac43b14f62e54a6fce">CONVERT_TENSOR3D_TO_IMAGE_STRUCT_NO_STEP</a>(name)&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a65fd24237c8278ecb38183f93cc70f05">update_image_from_tensor3D_workitem_ptr</a>(name##_ptr, name##_offset_first_element_in_bytes, name##_stride_x, 0, name##_stride_y, 0, name##_stride_z, name##_step_z)</td></tr>
196<tr class="separator:a071aa45af973feac43b14f62e54a6fce"><td class="memSeparator" colspan="2">&#160;</td></tr>
197<tr class="memitem:a541f8db866a0fa93ee67d58ea31a7d0c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a541f8db866a0fa93ee67d58ea31a7d0c">CONVERT_TENSOR3D_TO_IMAGE_STRUCT</a>(name)&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a65fd24237c8278ecb38183f93cc70f05">update_image_from_tensor3D_workitem_ptr</a>(name##_ptr, name##_offset_first_element_in_bytes, name##_stride_x, name##_step_x, name##_stride_y, name##_step_y, name##_stride_z, name##_step_z)</td></tr>
198<tr class="separator:a541f8db866a0fa93ee67d58ea31a7d0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000199<tr class="memitem:a31c8c760f08fb1a331b16b7c204321dc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a31c8c760f08fb1a331b16b7c204321dc">CONVERT_TO_TENSOR3D_STRUCT</a>(name)</td></tr>
200<tr class="separator:a31c8c760f08fb1a331b16b7c204321dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
201<tr class="memitem:a79e8e562daa6599317d2d1cd86ef1bf2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a79e8e562daa6599317d2d1cd86ef1bf2">CONVERT_TO_TENSOR3D_STRUCT_NO_STEP</a>(name)&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a912ccbcc4235bf1274c95d05b50440d4">update_tensor3D_workitem_ptr</a>(name##_ptr, name##_offset_first_element_in_bytes, name##_stride_x, 0, name##_stride_y, 0, name##_stride_z, 0)</td></tr>
202<tr class="separator:a79e8e562daa6599317d2d1cd86ef1bf2"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000203<tr class="memitem:a23b9032d1b9d59547545e457f82ee478"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a23b9032d1b9d59547545e457f82ee478">CONVERT_TO_TENSOR4D_STRUCT</a>(name, mod_size)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100204<tr class="separator:a23b9032d1b9d59547545e457f82ee478"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000205<tr class="memitem:a302e05cc5f90bd76a9d0812c4be8b5eb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a302e05cc5f90bd76a9d0812c4be8b5eb">CONVERT_TO_TENSOR4D_STRUCT_NO_STEP</a>(name, mod_size)&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a87a9d201ccc6b81332852d562bb7ee13">update_tensor4D_workitem_ptr</a>(name##_ptr, name##_offset_first_element_in_bytes, name##_stride_x, 0, name##_stride_y, 0, name##_stride_z, 0, name##_stride_w, 0, mod_size)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100206<tr class="separator:a302e05cc5f90bd76a9d0812c4be8b5eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000207</table><table class="memberdecls">
208<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
209Typedefs</h2></td></tr>
210<tr class="memitem:a6ded2cf071c127e518317e3c451af3ef"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_vector.xhtml">Vector</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a6ded2cf071c127e518317e3c451af3ef">Vector</a></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000211<tr class="memdesc:a6ded2cf071c127e518317e3c451af3ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Structure to hold <a class="el" href="struct_vector.xhtml" title="Structure to hold Vector information. ">Vector</a> information. <a href="#a6ded2cf071c127e518317e3c451af3ef">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000212<tr class="separator:a6ded2cf071c127e518317e3c451af3ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
213<tr class="memitem:a9082e6aa9fd1705dc218cf44bc5a9d66"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_image.xhtml">Image</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a9082e6aa9fd1705dc218cf44bc5a9d66">Image</a></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000214<tr class="memdesc:a9082e6aa9fd1705dc218cf44bc5a9d66"><td class="mdescLeft">&#160;</td><td class="mdescRight">Structure to hold <a class="el" href="struct_image.xhtml" title="Structure to hold Image information. ">Image</a> information. <a href="#a9082e6aa9fd1705dc218cf44bc5a9d66">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000215<tr class="separator:a9082e6aa9fd1705dc218cf44bc5a9d66"><td class="memSeparator" colspan="2">&#160;</td></tr>
216<tr class="memitem:a1a857bfe99727c6051e9a3ee285d70f6"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_tensor3_d.xhtml">Tensor3D</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a1a857bfe99727c6051e9a3ee285d70f6">Tensor3D</a></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000217<tr class="memdesc:a1a857bfe99727c6051e9a3ee285d70f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Structure to hold 3D tensor information. <a href="#a1a857bfe99727c6051e9a3ee285d70f6">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000218<tr class="separator:a1a857bfe99727c6051e9a3ee285d70f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +0000219<tr class="memitem:a3b8a88f73e80a621aecfe7ced12c1676"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_tensor4_d.xhtml">Tensor4D</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a3b8a88f73e80a621aecfe7ced12c1676">Tensor4D</a></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000220<tr class="memdesc:a3b8a88f73e80a621aecfe7ced12c1676"><td class="mdescLeft">&#160;</td><td class="mdescRight">Structure to hold 4D tensor information. <a href="#a3b8a88f73e80a621aecfe7ced12c1676">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100221<tr class="separator:a3b8a88f73e80a621aecfe7ced12c1676"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000222</table><table class="memberdecls">
223<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
224Functions</h2></td></tr>
225<tr class="memitem:a8fee90913ba658b25516a43cf71e5cbd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_vector.xhtml">Vector</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a8fee90913ba658b25516a43cf71e5cbd">update_vector_workitem_ptr</a> (__global uchar *ptr, uint offset_first_element_in_bytes, uint stride_x, uint step_x)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000226<tr class="memdesc:a8fee90913ba658b25516a43cf71e5cbd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrap vector information into an <a class="el" href="struct_vector.xhtml" title="Structure to hold Vector information. ">Vector</a> structure, and make the pointer point at this workitem's data. <a href="#a8fee90913ba658b25516a43cf71e5cbd">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000227<tr class="separator:a8fee90913ba658b25516a43cf71e5cbd"><td class="memSeparator" colspan="2">&#160;</td></tr>
228<tr class="memitem:a0a4395130f74a4293a7d3a19d8fac86d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_image.xhtml">Image</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a0a4395130f74a4293a7d3a19d8fac86d">update_image_workitem_ptr</a> (__global uchar *ptr, uint offset_first_element_in_bytes, uint stride_x, uint step_x, uint stride_y, uint step_y)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000229<tr class="memdesc:a0a4395130f74a4293a7d3a19d8fac86d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrap image information into an <a class="el" href="struct_image.xhtml" title="Structure to hold Image information. ">Image</a> structure, and make the pointer point at this workitem's data. <a href="#a0a4395130f74a4293a7d3a19d8fac86d">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000230<tr class="separator:a0a4395130f74a4293a7d3a19d8fac86d"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100231<tr class="memitem:a65fd24237c8278ecb38183f93cc70f05"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_image.xhtml">Image</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a65fd24237c8278ecb38183f93cc70f05">update_image_from_tensor3D_workitem_ptr</a> (__global uchar *ptr, uint offset_first_element_in_bytes, uint stride_x, uint step_x, uint stride_y, uint step_y, uint stride_z, uint step_z)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000232<tr class="memdesc:a65fd24237c8278ecb38183f93cc70f05"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrap 3D tensor information into an image structure, and make the pointer point at this workitem's data. <a href="#a65fd24237c8278ecb38183f93cc70f05">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100233<tr class="separator:a65fd24237c8278ecb38183f93cc70f05"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000234<tr class="memitem:a912ccbcc4235bf1274c95d05b50440d4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_tensor3_d.xhtml">Tensor3D</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a912ccbcc4235bf1274c95d05b50440d4">update_tensor3D_workitem_ptr</a> (__global uchar *ptr, uint offset_first_element_in_bytes, uint stride_x, uint step_x, uint stride_y, uint step_y, uint stride_z, uint step_z)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000235<tr class="memdesc:a912ccbcc4235bf1274c95d05b50440d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrap 3D tensor information into an tensor structure, and make the pointer point at this workitem's data. <a href="#a912ccbcc4235bf1274c95d05b50440d4">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000236<tr class="separator:a912ccbcc4235bf1274c95d05b50440d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +0000237<tr class="memitem:a87a9d201ccc6b81332852d562bb7ee13"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_tensor4_d.xhtml">Tensor4D</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a87a9d201ccc6b81332852d562bb7ee13">update_tensor4D_workitem_ptr</a> (__global uchar *ptr, uint offset_first_element_in_bytes, uint stride_x, uint step_x, uint stride_y, uint step_y, uint stride_z, uint step_z, uint stride_w, uint step_w, uint mod_size)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100238<tr class="separator:a87a9d201ccc6b81332852d562bb7ee13"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier46d59272017-05-04 09:15:15 +0100239<tr class="memitem:a7e4940407322d6f0ccb8b6b86b856019"><td class="memItemLeft" align="right" valign="top">__global const uchar *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a7e4940407322d6f0ccb8b6b86b856019">vector_offset</a> (const <a class="el" href="struct_vector.xhtml">Vector</a> *vec, int x)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000240<tr class="memdesc:a7e4940407322d6f0ccb8b6b86b856019"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the pointer position of a <a class="el" href="struct_vector.xhtml" title="Structure to hold Vector information. ">Vector</a>. <a href="#a7e4940407322d6f0ccb8b6b86b856019">More...</a><br /></td></tr>
Anthony Barbier46d59272017-05-04 09:15:15 +0100241<tr class="separator:a7e4940407322d6f0ccb8b6b86b856019"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000242<tr class="memitem:a009469e4d9b8fce3b6d5e97d2077827d"><td class="memItemLeft" align="right" valign="top">__global uchar *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a> (const <a class="el" href="struct_image.xhtml">Image</a> *img, int x, int y)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000243<tr class="memdesc:a009469e4d9b8fce3b6d5e97d2077827d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the pointer position of a <a class="el" href="struct_image.xhtml" title="Structure to hold Image information. ">Image</a>. <a href="#a009469e4d9b8fce3b6d5e97d2077827d">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000244<tr class="separator:a009469e4d9b8fce3b6d5e97d2077827d"><td class="memSeparator" colspan="2">&#160;</td></tr>
245<tr class="memitem:a2101b2fe0193ce227ae4e0945e321d85"><td class="memItemLeft" align="right" valign="top">__global const uchar *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a2101b2fe0193ce227ae4e0945e321d85">tensor3D_offset</a> (const <a class="el" href="struct_tensor3_d.xhtml">Tensor3D</a> *tensor, int x, int y, int z)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000246<tr class="memdesc:a2101b2fe0193ce227ae4e0945e321d85"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the pointer position of a <a class="el" href="struct_tensor3_d.xhtml" title="Structure to hold 3D tensor information. ">Tensor3D</a>. <a href="#a2101b2fe0193ce227ae4e0945e321d85">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000247<tr class="separator:a2101b2fe0193ce227ae4e0945e321d85"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +0000248<tr class="memitem:ad442fb5ec8be1fff97f543150de5d822"><td class="memItemLeft" align="right" valign="top">__global const uchar *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#ad442fb5ec8be1fff97f543150de5d822">tensor4D_offset</a> (const <a class="el" href="struct_tensor4_d.xhtml">Tensor4D</a> *tensor, int x, int y, int z, int w)</td></tr>
249<tr class="memdesc:ad442fb5ec8be1fff97f543150de5d822"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the pointer position of a <a class="el" href="struct_tensor4_d.xhtml" title="Structure to hold 4D tensor information. ">Tensor4D</a>. <a href="#ad442fb5ec8be1fff97f543150de5d822">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100250<tr class="separator:ad442fb5ec8be1fff97f543150de5d822"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000251</table>
252<h2 class="groupheader">Macro Definition Documentation</h2>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000253<a class="anchor" id="a0f6ad555d097377151003a5119ccee45"></a>
254<div class="memitem">
255<div class="memproto">
256 <table class="memname">
257 <tr>
258 <td class="memname">#define CL_VEC_DATA_TYPE</td>
259 <td>(</td>
260 <td class="paramtype">&#160;</td>
261 <td class="paramname">type, </td>
262 </tr>
263 <tr>
264 <td class="paramkey"></td>
265 <td></td>
266 <td class="paramtype">&#160;</td>
Jenkinsb3a371b2018-05-23 11:36:53 +0100267 <td class="paramname">size&#160;</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000268 </tr>
269 <tr>
270 <td></td>
271 <td>)</td>
Jenkinsb3a371b2018-05-23 11:36:53 +0100272 <td></td><td>&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#aa38f54499d4724c4ab01f6da100b603b">CL_VEC_DATA_TYPE_STR</a>(type, size)</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000273 </tr>
274 </table>
275</div><div class="memdoc">
276
Jenkinsb3a371b2018-05-23 11:36:53 +0100277<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000278
Anthony Barbier06ea0482018-02-22 15:45:35 +0000279<p>Referenced by <a class="el" href="softmax__layer_8cl_source.xhtml#l00178">softmax_layer_max_shift_exp_sum_serial()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000280
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>
Jenkinsb3a371b2018-05-23 11:36:53 +0100297 <td class="paramname">size&#160;</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000298 </tr>
299 <tr>
300 <td></td>
301 <td>)</td>
Jenkinsb3a371b2018-05-23 11:36:53 +0100302 <td></td><td>&#160;&#160;&#160;type##size</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000303 </tr>
304 </table>
305</div><div class="memdoc">
306
Jenkinsb3a371b2018-05-23 11:36:53 +0100307<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00050">50</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000308
309</div>
310</div>
Anthony Barbier871448e2017-03-24 14:54:29 +0000311<a class="anchor" id="aabdbe431f2713c5c2604cb9872b66aab"></a>
312<div class="memitem">
313<div class="memproto">
314 <table class="memname">
315 <tr>
316 <td class="memname">#define CLAMP</td>
317 <td>(</td>
318 <td class="paramtype">&#160;</td>
319 <td class="paramname">x, </td>
320 </tr>
321 <tr>
322 <td class="paramkey"></td>
323 <td></td>
324 <td class="paramtype">&#160;</td>
325 <td class="paramname">min_val, </td>
326 </tr>
327 <tr>
328 <td class="paramkey"></td>
329 <td></td>
330 <td class="paramtype">&#160;</td>
331 <td class="paramname">max_val&#160;</td>
332 </tr>
333 <tr>
334 <td></td>
335 <td>)</td>
336 <td></td><td>&#160;&#160;&#160;min(max(x, min_val), max_val)</td>
337 </tr>
338 </table>
339</div><div class="memdoc">
340
Jenkinsb3a371b2018-05-23 11:36:53 +0100341<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000342
343</div>
344</div>
345<a class="anchor" id="aa8d95ba04fc73845abc6045952cae5be"></a>
346<div class="memitem">
347<div class="memproto">
348 <table class="memname">
349 <tr>
350 <td class="memname">#define CONVERT</td>
351 <td>(</td>
352 <td class="paramtype">&#160;</td>
353 <td class="paramname">x, </td>
354 </tr>
355 <tr>
356 <td class="paramkey"></td>
357 <td></td>
358 <td class="paramtype">&#160;</td>
359 <td class="paramname">type&#160;</td>
360 </tr>
361 <tr>
362 <td></td>
363 <td>)</td>
364 <td></td><td>&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a4090567b3adb034c7cc1af308cb45670">CONVERT_STR</a>(x, type)</td>
365 </tr>
366 </table>
367</div><div class="memdoc">
368
Jenkinsb3a371b2018-05-23 11:36:53 +0100369<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00054">54</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +0000370
371</div>
372</div>
373<a class="anchor" id="a23fb01b6f3453cc0e48a026fd44f6acd"></a>
374<div class="memitem">
375<div class="memproto">
376 <table class="memname">
377 <tr>
378 <td class="memname">#define CONVERT_SAT</td>
379 <td>(</td>
380 <td class="paramtype">&#160;</td>
381 <td class="paramname">x, </td>
382 </tr>
383 <tr>
384 <td class="paramkey"></td>
385 <td></td>
386 <td class="paramtype">&#160;</td>
387 <td class="paramname">type&#160;</td>
388 </tr>
389 <tr>
390 <td></td>
391 <td>)</td>
392 <td></td><td>&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a4e0fc93c9a69863dcdf7672ab547026c">CONVERT_SAT_STR</a>(x, type)</td>
393 </tr>
394 </table>
395</div><div class="memdoc">
396
Jenkinsb3a371b2018-05-23 11:36:53 +0100397<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00057">57</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +0000398
399</div>
400</div>
401<a class="anchor" id="a28b2b123792a5b11a32cb05a6d327437"></a>
402<div class="memitem">
403<div class="memproto">
404 <table class="memname">
405 <tr>
406 <td class="memname">#define CONVERT_SAT_ROUND</td>
407 <td>(</td>
408 <td class="paramtype">&#160;</td>
409 <td class="paramname">x, </td>
410 </tr>
411 <tr>
412 <td class="paramkey"></td>
413 <td></td>
414 <td class="paramtype">&#160;</td>
415 <td class="paramname">type, </td>
416 </tr>
417 <tr>
418 <td class="paramkey"></td>
419 <td></td>
420 <td class="paramtype">&#160;</td>
421 <td class="paramname">round&#160;</td>
422 </tr>
423 <tr>
424 <td></td>
425 <td>)</td>
426 <td></td><td>&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a341a0c28698c3f6bd171df1771c5a512">CONVERT_SAT_ROUND_STR</a>(x, type, round)</td>
427 </tr>
428 </table>
429</div><div class="memdoc">
430
Jenkinsb3a371b2018-05-23 11:36:53 +0100431<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000432
433<p>Referenced by <a class="el" href="canny_8cl_source.xhtml#l00121">combine_gradients_L2()</a>.</p>
434
435</div>
436</div>
437<a class="anchor" id="a341a0c28698c3f6bd171df1771c5a512"></a>
438<div class="memitem">
439<div class="memproto">
440 <table class="memname">
441 <tr>
442 <td class="memname">#define CONVERT_SAT_ROUND_STR</td>
443 <td>(</td>
444 <td class="paramtype">&#160;</td>
445 <td class="paramname">x, </td>
446 </tr>
447 <tr>
448 <td class="paramkey"></td>
449 <td></td>
450 <td class="paramtype">&#160;</td>
451 <td class="paramname">type, </td>
452 </tr>
453 <tr>
454 <td class="paramkey"></td>
455 <td></td>
456 <td class="paramtype">&#160;</td>
457 <td class="paramname">round&#160;</td>
458 </tr>
459 <tr>
460 <td></td>
461 <td>)</td>
462 <td></td><td>&#160;&#160;&#160;(convert_##type##_sat_##round((x)))</td>
463 </tr>
464 </table>
465</div><div class="memdoc">
466
Jenkinsb3a371b2018-05-23 11:36:53 +0100467<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00059">59</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +0000468
469</div>
470</div>
471<a class="anchor" id="a4e0fc93c9a69863dcdf7672ab547026c"></a>
472<div class="memitem">
473<div class="memproto">
474 <table class="memname">
475 <tr>
476 <td class="memname">#define CONVERT_SAT_STR</td>
477 <td>(</td>
478 <td class="paramtype">&#160;</td>
479 <td class="paramname">x, </td>
480 </tr>
481 <tr>
482 <td class="paramkey"></td>
483 <td></td>
484 <td class="paramtype">&#160;</td>
485 <td class="paramname">type&#160;</td>
486 </tr>
487 <tr>
488 <td></td>
489 <td>)</td>
490 <td></td><td>&#160;&#160;&#160;(convert_##type##_sat((x)))</td>
491 </tr>
492 </table>
493</div><div class="memdoc">
494
Jenkinsb3a371b2018-05-23 11:36:53 +0100495<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00056">56</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +0000496
497</div>
498</div>
499<a class="anchor" id="a4090567b3adb034c7cc1af308cb45670"></a>
500<div class="memitem">
501<div class="memproto">
502 <table class="memname">
503 <tr>
504 <td class="memname">#define CONVERT_STR</td>
505 <td>(</td>
506 <td class="paramtype">&#160;</td>
507 <td class="paramname">x, </td>
508 </tr>
509 <tr>
510 <td class="paramkey"></td>
511 <td></td>
512 <td class="paramtype">&#160;</td>
513 <td class="paramname">type&#160;</td>
514 </tr>
515 <tr>
516 <td></td>
517 <td>)</td>
518 <td></td><td>&#160;&#160;&#160;(convert_##type((x)))</td>
519 </tr>
520 </table>
521</div><div class="memdoc">
522
Jenkinsb3a371b2018-05-23 11:36:53 +0100523<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00053">53</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +0100524
525</div>
526</div>
527<a class="anchor" id="a541f8db866a0fa93ee67d58ea31a7d0c"></a>
528<div class="memitem">
529<div class="memproto">
530 <table class="memname">
531 <tr>
532 <td class="memname">#define CONVERT_TENSOR3D_TO_IMAGE_STRUCT</td>
533 <td>(</td>
534 <td class="paramtype">&#160;</td>
535 <td class="paramname">name</td><td>)</td>
536 <td>&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a65fd24237c8278ecb38183f93cc70f05">update_image_from_tensor3D_workitem_ptr</a>(name##_ptr, name##_offset_first_element_in_bytes, name##_stride_x, name##_step_x, name##_stride_y, name##_step_y, name##_stride_z, name##_step_z)</td>
537 </tr>
538 </table>
539</div><div class="memdoc">
540
Jenkinsb3a371b2018-05-23 11:36:53 +0100541<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00116">116</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +0100542
Jenkinsb3a371b2018-05-23 11:36:53 +0100543<p>Referenced by <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>
Kaizen8938bd32017-09-28 14:38:23 +0100544
545</div>
546</div>
547<a class="anchor" id="a541f8db866a0fa93ee67d58ea31a7d0c"></a>
548<div class="memitem">
549<div class="memproto">
550 <table class="memname">
551 <tr>
552 <td class="memname">#define CONVERT_TENSOR3D_TO_IMAGE_STRUCT</td>
553 <td>(</td>
554 <td class="paramtype">&#160;</td>
555 <td class="paramname">name</td><td>)</td>
556 <td>&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a65fd24237c8278ecb38183f93cc70f05">update_image_from_tensor3D_workitem_ptr</a>(name##_ptr, name##_offset_first_element_in_bytes, name##_stride_x, name##_step_x, name##_stride_y, name##_step_y, name##_stride_z, name##_step_z)</td>
557 </tr>
558 </table>
559</div><div class="memdoc">
560
Jenkinsb3a371b2018-05-23 11:36:53 +0100561<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00116">116</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +0100562
563</div>
564</div>
565<a class="anchor" id="a071aa45af973feac43b14f62e54a6fce"></a>
566<div class="memitem">
567<div class="memproto">
568 <table class="memname">
569 <tr>
570 <td class="memname">#define CONVERT_TENSOR3D_TO_IMAGE_STRUCT_NO_STEP</td>
571 <td>(</td>
572 <td class="paramtype">&#160;</td>
573 <td class="paramname">name</td><td>)</td>
574 <td>&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a65fd24237c8278ecb38183f93cc70f05">update_image_from_tensor3D_workitem_ptr</a>(name##_ptr, name##_offset_first_element_in_bytes, name##_stride_x, 0, name##_stride_y, 0, name##_stride_z, name##_step_z)</td>
575 </tr>
576 </table>
577</div><div class="memdoc">
578
Jenkinsb3a371b2018-05-23 11:36:53 +0100579<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00113">113</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +0100580
Anthony Barbier06ea0482018-02-22 15:45:35 +0000581<p>Referenced by <a class="el" href="fill__border_8cl_source.xhtml#l00126">fill_image_borders_constant()</a>, <a class="el" href="fill__border_8cl_source.xhtml#l00050">fill_image_borders_replicate()</a>, and <a class="el" href="softmax__layer_8cl_source.xhtml#l00120">softmax_layer_norm()</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +0000582
583</div>
584</div>
585<a class="anchor" id="aebe814363556c244be043b13e7969197"></a>
586<div class="memitem">
587<div class="memproto">
588 <table class="memname">
589 <tr>
590 <td class="memname">#define CONVERT_TO_IMAGE_STRUCT</td>
591 <td>(</td>
592 <td class="paramtype">&#160;</td>
593 <td class="paramname">name</td><td>)</td>
594 <td>&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a0a4395130f74a4293a7d3a19d8fac86d">update_image_workitem_ptr</a>(name##_ptr, name##_offset_first_element_in_bytes, name##_stride_x, name##_step_x, name##_stride_y, name##_step_y)</td>
595 </tr>
596 </table>
597</div><div class="memdoc">
598
Jenkinsb3a371b2018-05-23 11:36:53 +0100599<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00104">104</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +0000600
Anthony Barbier06ea0482018-02-22 15:45:35 +0000601<p>Referenced by <a class="el" href="absdiff_8cl_source.xhtml#l00050">absdiff()</a>, <a class="el" href="accumulate_8cl_source.xhtml#l00041">accumulate()</a>, <a class="el" href="accumulate_8cl_source.xhtml#l00112">accumulate_squared()</a>, <a class="el" href="accumulate_8cl_source.xhtml#l00076">accumulate_weighted()</a>, <a class="el" href="bitwise__op_8cl_source.xhtml#l00083">bitwise_and()</a>, <a class="el" href="bitwise__op_8cl_source.xhtml#l00149">bitwise_not()</a>, <a class="el" href="bitwise__op_8cl_source.xhtml#l00047">bitwise_or()</a>, <a class="el" href="bitwise__op_8cl_source.xhtml#l00119">bitwise_xor()</a>, <a class="el" href="channel__combine_8cl_source.xhtml#l00317">channel_combine_NV()</a>, <a class="el" href="channel__combine_8cl_source.xhtml#l00053">channel_combine_RGB888()</a>, <a class="el" href="channel__combine_8cl_source.xhtml#l00127">channel_combine_RGBA8888()</a>, <a class="el" href="channel__combine_8cl_source.xhtml#l00253">channel_combine_UYVY422()</a>, <a class="el" href="channel__combine_8cl_source.xhtml#l00198">channel_combine_YUYV422()</a>, <a class="el" href="channel__extract_8cl_source.xhtml#l00195">channel_extract_NV12()</a>, <a class="el" href="channel__extract_8cl_source.xhtml#l00230">channel_extract_NV21()</a>, <a class="el" href="channel__extract_8cl_source.xhtml#l00043">channel_extract_RGB888()</a>, <a class="el" href="channel__extract_8cl_source.xhtml#l00083">channel_extract_RGBA8888()</a>, <a class="el" href="channel__extract_8cl_source.xhtml#l00158">channel_extract_UYVY422()</a>, <a class="el" href="channel__extract_8cl_source.xhtml#l00122">channel_extract_YUYV422()</a>, <a class="el" href="canny_8cl_source.xhtml#l00057">combine_gradients_L1()</a>, <a class="el" href="canny_8cl_source.xhtml#l00121">combine_gradients_L2()</a>, <a class="el" href="depth__convert_8cl_source.xhtml#l00074">convert_depth_down()</a>, <a class="el" href="depth__convert_8cl_source.xhtml#l00115">convert_depth_up()</a>, <a class="el" href="convolution3x3_8cl_source.xhtml#l00123">convolution3x3_static()</a>, <a class="el" href="convolution5x5_8cl_source.xhtml#l00274">convolution5x5_static()</a>, <a class="el" href="convolution7x7_8cl_source.xhtml#l00323">convolution7x7_static()</a>, <a class="el" href="convolution9x9_8cl_source.xhtml#l00386">convolution9x9_static()</a>, <a class="el" href="convolution__rectangle_8cl_source.xhtml#l00064">convolution_rectangle()</a>, <a class="el" href="convolution5x5_8cl_source.xhtml#l00205">convolution_separable1x5_static()</a>, <a class="el" href="convolution7x7_8cl_source.xhtml#l00254">convolution_separable1x7_static()</a>, <a class="el" href="convolution9x9_8cl_source.xhtml#l00317">convolution_separable1x9_static()</a>, <a class="el" href="convolution5x5_8cl_source.xhtml#l00238">convolution_separable5x1_static()</a>, <a class="el" href="convolution7x7_8cl_source.xhtml#l00287">convolution_separable7x1_static()</a>, <a class="el" href="convolution9x9_8cl_source.xhtml#l00350">convolution_separable9x1_static()</a>, <a class="el" href="channel__extract_8cl_source.xhtml#l00262">copy_plane()</a>, <a class="el" href="channel__combine_8cl_source.xhtml#l00389">copy_planes_3p()</a>, <a class="el" href="fast__corners_8cl_source.xhtml#l00230">copy_to_keypoint()</a>, <a class="el" href="deconvolution__layer_8cl_source.xhtml#l00041">deconvolution_upsample()</a>, <a class="el" href="derivative_8cl_source.xhtml#l00050">derivative()</a>, <a class="el" href="dilate_8cl_source.xhtml#l00041">dilate()</a>, <a class="el" href="erode_8cl_source.xhtml#l00041">erode()</a>, <a class="el" href="fast__corners_8cl_source.xhtml#l00155">fast_corners()</a>, <a class="el" href="gaussian__pyramid_8cl_source.xhtml#l00043">gaussian1x5_sub_x()</a>, <a class="el" href="gaussian__pyramid_8cl_source.xhtml#l00088">gaussian5x1_sub_y()</a>, <a class="el" href="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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000602
603</div>
604</div>
605<a class="anchor" id="a4334a4a76f8e9628c0fb9e1acf616e2a"></a>
606<div class="memitem">
607<div class="memproto">
608 <table class="memname">
609 <tr>
610 <td class="memname">#define CONVERT_TO_IMAGE_STRUCT_NO_STEP</td>
611 <td>(</td>
612 <td class="paramtype">&#160;</td>
613 <td class="paramname">name</td><td>)</td>
614 <td>&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a0a4395130f74a4293a7d3a19d8fac86d">update_image_workitem_ptr</a>(name##_ptr, name##_offset_first_element_in_bytes, name##_stride_x, 0, name##_stride_y, 0)</td>
615 </tr>
616 </table>
617</div><div class="memdoc">
618
Jenkinsb3a371b2018-05-23 11:36:53 +0100619<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00107">107</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +0000620
Jenkinsb3a371b2018-05-23 11:36:53 +0100621<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#l00211">lktracker_stage0()</a>, <a class="el" href="optical__flow__pyramid__lk_8cl_source.xhtml#l00361">lktracker_stage1()</a>, <a class="el" href="remap_8cl_source.xhtml#l00113">remap_bilinear()</a>, <a class="el" href="remap_8cl_source.xhtml#l00059">remap_nearest_neighbour()</a>, <a class="el" href="scale_8cl_source.xhtml#l00122">scale_bilinear()</a>, <a class="el" href="scale_8cl_source.xhtml#l00086">scale_nearest_neighbour()</a>, <a class="el" href="warp__affine_8cl_source.xhtml#l00111">warp_affine_bilinear()</a>, <a class="el" href="warp__affine_8cl_source.xhtml#l00079">warp_affine_nearest_neighbour()</a>, <a class="el" href="warp__perspective_8cl_source.xhtml#l00119">warp_perspective_bilinear()</a>, and <a class="el" href="warp__perspective_8cl_source.xhtml#l00087">warp_perspective_nearest_neighbour()</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +0000622
623</div>
624</div>
625<a class="anchor" id="a31c8c760f08fb1a331b16b7c204321dc"></a>
626<div class="memitem">
627<div class="memproto">
628 <table class="memname">
629 <tr>
630 <td class="memname">#define CONVERT_TO_TENSOR3D_STRUCT</td>
631 <td>(</td>
632 <td class="paramtype">&#160;</td>
633 <td class="paramname">name</td><td>)</td>
634 <td></td>
635 </tr>
636 </table>
637</div><div class="memdoc">
Jenkinsb3a371b2018-05-23 11:36:53 +0100638<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#l00255">helpers.h:255</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +0000639</div><!-- fragment -->
Jenkinsb3a371b2018-05-23 11:36:53 +0100640<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00119">119</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +0000641
Jenkinsb3a371b2018-05-23 11:36:53 +0100642<p>Referenced by <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#l00081">concatenate_depth()</a>, <a class="el" href="concatenate_8cl_source.xhtml#l00046">concatenate_width()</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#l00228">pooling_layer_2()</a>, <a class="el" href="pooling__layer_8cl_source.xhtml#l00292">pooling_layer_3()</a>, <a class="el" href="pooling__layer_8cl_source.xhtml#l00565">pooling_layer_MxN_nhwc()</a>, <a class="el" href="pooling__layer__quantized_8cl_source.xhtml#l00080">pooling_layer_MxN_quantized_nchw()</a>, <a class="el" href="pooling__layer__quantized_8cl_source.xhtml#l00166">pooling_layer_MxN_quantized_nhwc()</a>, <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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000643
644</div>
645</div>
646<a class="anchor" id="a79e8e562daa6599317d2d1cd86ef1bf2"></a>
647<div class="memitem">
648<div class="memproto">
649 <table class="memname">
650 <tr>
651 <td class="memname">#define CONVERT_TO_TENSOR3D_STRUCT_NO_STEP</td>
652 <td>(</td>
653 <td class="paramtype">&#160;</td>
654 <td class="paramname">name</td><td>)</td>
655 <td>&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a912ccbcc4235bf1274c95d05b50440d4">update_tensor3D_workitem_ptr</a>(name##_ptr, name##_offset_first_element_in_bytes, name##_stride_x, 0, name##_stride_y, 0, name##_stride_z, 0)</td>
656 </tr>
657 </table>
658</div><div class="memdoc">
659
Jenkinsb3a371b2018-05-23 11:36:53 +0100660<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00123">123</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +0000661
Anthony Barbier06ea0482018-02-22 15:45:35 +0000662<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>
Kaizen8938bd32017-09-28 14:38:23 +0100663
664</div>
665</div>
666<a class="anchor" id="a23b9032d1b9d59547545e457f82ee478"></a>
667<div class="memitem">
668<div class="memproto">
669 <table class="memname">
670 <tr>
671 <td class="memname">#define CONVERT_TO_TENSOR4D_STRUCT</td>
672 <td>(</td>
673 <td class="paramtype">&#160;</td>
674 <td class="paramname">name, </td>
675 </tr>
676 <tr>
677 <td class="paramkey"></td>
678 <td></td>
679 <td class="paramtype">&#160;</td>
680 <td class="paramname">mod_size&#160;</td>
681 </tr>
682 <tr>
683 <td></td>
684 <td>)</td>
685 <td></td><td></td>
686 </tr>
687 </table>
688</div><div class="memdoc">
Jenkinsb3a371b2018-05-23 11:36:53 +0100689<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#l00269">helpers.h:269</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +0100690</div><!-- fragment -->
Jenkinsb3a371b2018-05-23 11:36:53 +0100691<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00126">126</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +0100692
693</div>
694</div>
695<a class="anchor" id="a302e05cc5f90bd76a9d0812c4be8b5eb"></a>
696<div class="memitem">
697<div class="memproto">
698 <table class="memname">
699 <tr>
700 <td class="memname">#define CONVERT_TO_TENSOR4D_STRUCT_NO_STEP</td>
701 <td>(</td>
702 <td class="paramtype">&#160;</td>
703 <td class="paramname">name, </td>
704 </tr>
705 <tr>
706 <td class="paramkey"></td>
707 <td></td>
708 <td class="paramtype">&#160;</td>
709 <td class="paramname">mod_size&#160;</td>
710 </tr>
711 <tr>
712 <td></td>
713 <td>)</td>
714 <td></td><td>&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a87a9d201ccc6b81332852d562bb7ee13">update_tensor4D_workitem_ptr</a>(name##_ptr, name##_offset_first_element_in_bytes, name##_stride_x, 0, name##_stride_y, 0, name##_stride_z, 0, name##_stride_w, 0, mod_size)</td>
715 </tr>
716 </table>
717</div><div class="memdoc">
718
Jenkinsb3a371b2018-05-23 11:36:53 +0100719<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00130">130</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +0000720
721</div>
722</div>
723<a class="anchor" id="a527bfdf5eeb306f1cf01c4a8e29f38e0"></a>
724<div class="memitem">
725<div class="memproto">
726 <table class="memname">
727 <tr>
728 <td class="memname">#define CONVERT_TO_VECTOR_STRUCT</td>
729 <td>(</td>
730 <td class="paramtype">&#160;</td>
731 <td class="paramname">name</td><td>)</td>
732 <td>&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a8fee90913ba658b25516a43cf71e5cbd">update_vector_workitem_ptr</a>(name##_ptr, name##_offset_first_element_in_bytes, name##_stride_x, name##_step_x)</td>
733 </tr>
734 </table>
735</div><div class="memdoc">
736
Jenkinsb3a371b2018-05-23 11:36:53 +0100737<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00098">98</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +0000738
Jenkinsb3a371b2018-05-23 11:36:53 +0100739<p>Referenced by <a class="el" href="copy__tensor_8cl_source.xhtml#l00037">copy_tensor()</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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000740
741</div>
742</div>
743<a class="anchor" id="a64d779f80eeb923e0ab2313433f7b40b"></a>
744<div class="memitem">
745<div class="memproto">
746 <table class="memname">
747 <tr>
748 <td class="memname">#define CONVERT_TO_VECTOR_STRUCT_NO_STEP</td>
749 <td>(</td>
750 <td class="paramtype">&#160;</td>
751 <td class="paramname">name</td><td>)</td>
752 <td>&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a8fee90913ba658b25516a43cf71e5cbd">update_vector_workitem_ptr</a>(name##_ptr, name##_offset_first_element_in_bytes, name##_stride_x, 0)</td>
753 </tr>
754 </table>
755</div><div class="memdoc">
756
Jenkinsb3a371b2018-05-23 11:36:53 +0100757<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00101">101</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +0100758
Jenkinsb3a371b2018-05-23 11:36:53 +0100759<p>Referenced by <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>
Kaizen8938bd32017-09-28 14:38:23 +0100760
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
Jenkinsb3a371b2018-05-23 11:36:53 +0100777<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00037">37</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000778
Anthony Barbier06ea0482018-02-22 15:45:35 +0000779<p>Referenced by <a class="el" href="softmax__layer_8cl_source.xhtml#l00178">softmax_layer_max_shift_exp_sum_serial()</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +0000780
781</div>
782</div>
783<a class="anchor" id="a22f42fcf2077d951271df83b55c1a71a"></a>
784<div class="memitem">
785<div class="memproto">
786 <table class="memname">
787 <tr>
788 <td class="memname">#define IMAGE_DECLARATION</td>
789 <td>(</td>
790 <td class="paramtype">&#160;</td>
791 <td class="paramname">name</td><td>)</td>
792 <td></td>
793 </tr>
794 </table>
795</div><div class="memdoc">
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000796<b>Value:</b><div class="fragment"><div class="line">__global uchar *name##_ptr, \</div><div class="line"> uint name##_stride_x, \</div><div class="line"> uint name##_step_x, \</div><div class="line"> uint name##_stride_y, \</div><div class="line"> uint name##_step_y, \</div><div class="line"> uint name##_offset_first_element_in_bytes</div></div><!-- fragment -->
Jenkinsb3a371b2018-05-23 11:36:53 +0100797<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00068">68</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +0000798
799</div>
800</div>
801<a class="anchor" id="a6b83038822d1ae7ab619b684ed3b7fc0"></a>
802<div class="memitem">
803<div class="memproto">
804 <table class="memname">
805 <tr>
806 <td class="memname">#define TENSOR3D_DECLARATION</td>
807 <td>(</td>
808 <td class="paramtype">&#160;</td>
809 <td class="paramname">name</td><td>)</td>
810 <td></td>
811 </tr>
812 </table>
813</div><div class="memdoc">
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000814<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 -->
Jenkinsb3a371b2018-05-23 11:36:53 +0100815<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00076">76</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +0000816
Kaizen8938bd32017-09-28 14:38:23 +0100817</div>
818</div>
819<a class="anchor" id="a481bdc6d61b3df9dcdbdb244f0f97790"></a>
820<div class="memitem">
821<div class="memproto">
822 <table class="memname">
823 <tr>
824 <td class="memname">#define TENSOR4D_DECLARATION</td>
825 <td>(</td>
826 <td class="paramtype">&#160;</td>
827 <td class="paramname">name</td><td>)</td>
828 <td></td>
829 </tr>
830 </table>
831</div><div class="memdoc">
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000832<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 -->
Jenkinsb3a371b2018-05-23 11:36:53 +0100833<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00086">86</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +0100834
Anthony Barbier871448e2017-03-24 14:54:29 +0000835</div>
836</div>
837<a class="anchor" id="a36f754c05b6fddf6df0d8d0a74f8159f"></a>
838<div class="memitem">
839<div class="memproto">
840 <table class="memname">
841 <tr>
842 <td class="memname">#define VEC_DATA_TYPE</td>
843 <td>(</td>
844 <td class="paramtype">&#160;</td>
845 <td class="paramname">type, </td>
846 </tr>
847 <tr>
848 <td class="paramkey"></td>
849 <td></td>
850 <td class="paramtype">&#160;</td>
Jenkinsb3a371b2018-05-23 11:36:53 +0100851 <td class="paramname">size&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +0000852 </tr>
853 <tr>
854 <td></td>
855 <td>)</td>
Jenkinsb3a371b2018-05-23 11:36:53 +0100856 <td></td><td>&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#ae802822defb0fa3a7f74f98e324696cb">VEC_DATA_TYPE_STR</a>(type, size)</td>
Anthony Barbier871448e2017-03-24 14:54:29 +0000857 </tr>
858 </table>
859</div><div class="memdoc">
860
Jenkinsb3a371b2018-05-23 11:36:53 +0100861<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000862
863</div>
864</div>
865<a class="anchor" id="ae802822defb0fa3a7f74f98e324696cb"></a>
866<div class="memitem">
867<div class="memproto">
868 <table class="memname">
869 <tr>
870 <td class="memname">#define VEC_DATA_TYPE_STR</td>
871 <td>(</td>
872 <td class="paramtype">&#160;</td>
873 <td class="paramname">type, </td>
874 </tr>
875 <tr>
876 <td class="paramkey"></td>
877 <td></td>
878 <td class="paramtype">&#160;</td>
Jenkinsb3a371b2018-05-23 11:36:53 +0100879 <td class="paramname">size&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +0000880 </tr>
881 <tr>
882 <td></td>
883 <td>)</td>
Jenkinsb3a371b2018-05-23 11:36:53 +0100884 <td></td><td>&#160;&#160;&#160;type##size</td>
Anthony Barbier871448e2017-03-24 14:54:29 +0000885 </tr>
886 </table>
887</div><div class="memdoc">
888
Jenkinsb3a371b2018-05-23 11:36:53 +0100889<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00047">47</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +0000890
891</div>
892</div>
893<a class="anchor" id="a40a6eb9f2a7712f08d6bb8ff6c9e6ca7"></a>
894<div class="memitem">
895<div class="memproto">
896 <table class="memname">
897 <tr>
898 <td class="memname">#define VECTOR_DECLARATION</td>
899 <td>(</td>
900 <td class="paramtype">&#160;</td>
901 <td class="paramname">name</td><td>)</td>
902 <td></td>
903 </tr>
904 </table>
905</div><div class="memdoc">
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000906<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 -->
Jenkinsb3a371b2018-05-23 11:36:53 +0100907<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00062">62</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +0100908
909</div>
910</div>
911<a class="anchor" id="a287e2fc366c312b468382c95bb90f91f"></a>
912<div class="memitem">
913<div class="memproto">
914 <table class="memname">
915 <tr>
916 <td class="memname">#define VLOAD</td>
917 <td>(</td>
918 <td class="paramtype">&#160;</td>
Jenkinsb3a371b2018-05-23 11:36:53 +0100919 <td class="paramname">size</td><td>)</td>
920 <td>&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a29367a809c14c294feefc1a8dad93752">VLOAD_STR</a>(size)</td>
Kaizen8938bd32017-09-28 14:38:23 +0100921 </tr>
922 </table>
923</div><div class="memdoc">
924
Jenkinsb3a371b2018-05-23 11:36:53 +0100925<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>
Kaizen8938bd32017-09-28 14:38:23 +0100926
Jenkinsb3a371b2018-05-23 11:36:53 +0100927<p>Referenced by <a class="el" href="concatenate_8cl_source.xhtml#l00081">concatenate_depth()</a>, <a class="el" href="concatenate_8cl_source.xhtml#l00046">concatenate_width()</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>
Kaizen8938bd32017-09-28 14:38:23 +0100928
929</div>
930</div>
931<a class="anchor" id="a29367a809c14c294feefc1a8dad93752"></a>
932<div class="memitem">
933<div class="memproto">
934 <table class="memname">
935 <tr>
936 <td class="memname">#define VLOAD_STR</td>
937 <td>(</td>
938 <td class="paramtype">&#160;</td>
Jenkinsb3a371b2018-05-23 11:36:53 +0100939 <td class="paramname">size</td><td>)</td>
940 <td>&#160;&#160;&#160;vload##size</td>
Kaizen8938bd32017-09-28 14:38:23 +0100941 </tr>
942 </table>
943</div><div class="memdoc">
944
Jenkinsb3a371b2018-05-23 11:36:53 +0100945<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00041">41</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +0100946
947</div>
948</div>
949<a class="anchor" id="acb282042d1edeeaa3cc979a206f78b54"></a>
950<div class="memitem">
951<div class="memproto">
952 <table class="memname">
953 <tr>
954 <td class="memname">#define VSTORE</td>
955 <td>(</td>
956 <td class="paramtype">&#160;</td>
Jenkinsb3a371b2018-05-23 11:36:53 +0100957 <td class="paramname">size</td><td>)</td>
958 <td>&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#aeedcb2d8b4b0ce17747474d4da15f199">VSTORE_STR</a>(size)</td>
Kaizen8938bd32017-09-28 14:38:23 +0100959 </tr>
960 </table>
961</div><div class="memdoc">
962
Jenkinsb3a371b2018-05-23 11:36:53 +0100963<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>
Kaizen8938bd32017-09-28 14:38:23 +0100964
Jenkinsb3a371b2018-05-23 11:36:53 +0100965<p>Referenced by <a class="el" href="concatenate_8cl_source.xhtml#l00081">concatenate_depth()</a>, <a class="el" href="concatenate_8cl_source.xhtml#l00046">concatenate_width()</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>
Kaizen8938bd32017-09-28 14:38:23 +0100966
967</div>
968</div>
969<a class="anchor" id="aeedcb2d8b4b0ce17747474d4da15f199"></a>
970<div class="memitem">
971<div class="memproto">
972 <table class="memname">
973 <tr>
974 <td class="memname">#define VSTORE_STR</td>
975 <td>(</td>
976 <td class="paramtype">&#160;</td>
Jenkinsb3a371b2018-05-23 11:36:53 +0100977 <td class="paramname">size</td><td>)</td>
978 <td>&#160;&#160;&#160;vstore##size</td>
Kaizen8938bd32017-09-28 14:38:23 +0100979 </tr>
980 </table>
981</div><div class="memdoc">
982
Jenkinsb3a371b2018-05-23 11:36:53 +0100983<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00044">44</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +0000984
985</div>
986</div>
987<h2 class="groupheader">Typedef Documentation</h2>
988<a class="anchor" id="a9082e6aa9fd1705dc218cf44bc5a9d66"></a>
989<div class="memitem">
990<div class="memproto">
991 <table class="memname">
992 <tr>
993 <td class="memname">typedef struct <a class="el" href="struct_image.xhtml">Image</a> <a class="el" href="struct_image.xhtml">Image</a></td>
994 </tr>
995 </table>
996</div><div class="memdoc">
997
998<p>Structure to hold <a class="el" href="struct_image.xhtml" title="Structure to hold Image information. ">Image</a> information. </p>
999
1000</div>
1001</div>
1002<a class="anchor" id="a1a857bfe99727c6051e9a3ee285d70f6"></a>
1003<div class="memitem">
1004<div class="memproto">
1005 <table class="memname">
1006 <tr>
1007 <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>
1008 </tr>
1009 </table>
1010</div><div class="memdoc">
1011
1012<p>Structure to hold 3D tensor information. </p>
1013
1014</div>
1015</div>
Kaizen8938bd32017-09-28 14:38:23 +01001016<a class="anchor" id="a3b8a88f73e80a621aecfe7ced12c1676"></a>
1017<div class="memitem">
1018<div class="memproto">
1019 <table class="memname">
1020 <tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00001021 <td class="memname">typedef struct <a class="el" href="struct_tensor4_d.xhtml">Tensor4D</a> <a class="el" href="struct_tensor4_d.xhtml">Tensor4D</a></td>
Kaizen8938bd32017-09-28 14:38:23 +01001022 </tr>
1023 </table>
1024</div><div class="memdoc">
1025
1026<p>Structure to hold 4D tensor information. </p>
1027
1028</div>
1029</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00001030<a class="anchor" id="a6ded2cf071c127e518317e3c451af3ef"></a>
1031<div class="memitem">
1032<div class="memproto">
1033 <table class="memname">
1034 <tr>
1035 <td class="memname">typedef struct <a class="el" href="struct_vector.xhtml">Vector</a> <a class="el" href="struct_vector.xhtml">Vector</a></td>
1036 </tr>
1037 </table>
1038</div><div class="memdoc">
1039
1040<p>Structure to hold <a class="el" href="struct_vector.xhtml" title="Structure to hold Vector information. ">Vector</a> information. </p>
1041
1042</div>
1043</div>
1044<h2 class="groupheader">Function Documentation</h2>
1045<a class="anchor" id="a009469e4d9b8fce3b6d5e97d2077827d"></a>
1046<div class="memitem">
1047<div class="memproto">
1048<table class="mlabels">
1049 <tr>
1050 <td class="mlabels-left">
1051 <table class="memname">
1052 <tr>
1053 <td class="memname">__global uchar* offset </td>
1054 <td>(</td>
1055 <td class="paramtype">const <a class="el" href="struct_image.xhtml">Image</a> *&#160;</td>
1056 <td class="paramname"><em>img</em>, </td>
1057 </tr>
1058 <tr>
1059 <td class="paramkey"></td>
1060 <td></td>
1061 <td class="paramtype">int&#160;</td>
1062 <td class="paramname"><em>x</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>y</em>&#160;</td>
1069 </tr>
1070 <tr>
1071 <td></td>
1072 <td>)</td>
1073 <td></td><td></td>
1074 </tr>
1075 </table>
1076 </td>
1077 <td class="mlabels-right">
1078<span class="mlabels"><span class="mlabel">inline</span></span> </td>
1079 </tr>
1080</table>
1081</div><div class="memdoc">
1082
1083<p>Get the pointer position of a <a class="el" href="struct_image.xhtml" title="Structure to hold Image information. ">Image</a>. </p>
1084<dl class="params"><dt>Parameters</dt><dd>
1085 <table class="params">
1086 <tr><td class="paramdir">[in]</td><td class="paramname">img</td><td>Pointer to the starting position of the buffer </td></tr>
1087 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Relative X position </td></tr>
1088 <tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>Relative Y position </td></tr>
1089 </table>
1090 </dd>
1091</dl>
1092
Jenkinsb3a371b2018-05-23 11:36:53 +01001093<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00303">303</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00001094
Jenkinsb3a371b2018-05-23 11:36:53 +01001095<p>References <a class="el" href="helpers_8h_source.xhtml#l00144">Image::ptr</a>, <a class="el" href="helpers_8h_source.xhtml#l00146">Image::stride_x</a>, and <a class="el" href="helpers_8h_source.xhtml#l00147">Image::stride_y</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00001096
Jenkinsb3a371b2018-05-23 11:36:53 +01001097<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="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#l00493">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="validation_2reference_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#l00211">lktracker_stage0()</a>, <a class="el" href="optical__flow__pyramid__lk_8cl_source.xhtml#l00361">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#l00151">QuantizationInfo::operator==()</a>, <a class="el" href="_simple_tensor_8h_source.xhtml#l00282">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#l00282">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="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="canny_8cl_source.xhtml#l00191">suppress_non_maximum()</a>, <a class="el" href="transpose_8cl_source.xhtml#l00148">transpose()</a>, and <a class="el" href="reference_2_width_concatenate_layer_8cpp_source.xhtml#l00038">arm_compute::test::validation::reference::widthconcatenate_layer()</a>.</p>
1098<div class="fragment"><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160;{</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <span class="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="l00306"></a><span class="lineno"> 306</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#l00144">helpers.h:144</a></div></div>
1099<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#l00147">helpers.h:147</a></div></div>
1100<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#l00146">helpers.h:146</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00001101</div><!-- fragment -->
1102</div>
1103</div>
1104<a class="anchor" id="a2101b2fe0193ce227ae4e0945e321d85"></a>
1105<div class="memitem">
1106<div class="memproto">
1107<table class="mlabels">
1108 <tr>
1109 <td class="mlabels-left">
1110 <table class="memname">
1111 <tr>
1112 <td class="memname">__global const uchar* tensor3D_offset </td>
1113 <td>(</td>
1114 <td class="paramtype">const <a class="el" href="struct_tensor3_d.xhtml">Tensor3D</a> *&#160;</td>
1115 <td class="paramname"><em>tensor</em>, </td>
1116 </tr>
1117 <tr>
1118 <td class="paramkey"></td>
1119 <td></td>
1120 <td class="paramtype">int&#160;</td>
1121 <td class="paramname"><em>x</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>y</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>z</em>&#160;</td>
1134 </tr>
1135 <tr>
1136 <td></td>
1137 <td>)</td>
1138 <td></td><td></td>
1139 </tr>
1140 </table>
1141 </td>
1142 <td class="mlabels-right">
1143<span class="mlabels"><span class="mlabel">inline</span></span> </td>
1144 </tr>
1145</table>
1146</div><div class="memdoc">
1147
1148<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>
1149<dl class="params"><dt>Parameters</dt><dd>
1150 <table class="params">
Kaizen8938bd32017-09-28 14:38:23 +01001151 <tr><td class="paramdir">[in]</td><td class="paramname">tensor</td><td>Pointer to the starting position of the buffer </td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001152 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Relative X position </td></tr>
1153 <tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>Relative Y position </td></tr>
1154 <tr><td class="paramdir">[in]</td><td class="paramname">z</td><td>Relative Z position </td></tr>
1155 </table>
1156 </dd>
1157</dl>
1158
Jenkinsb3a371b2018-05-23 11:36:53 +01001159<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00315">315</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00001160
Jenkinsb3a371b2018-05-23 11:36:53 +01001161<p>References <a class="el" href="helpers_8h_source.xhtml#l00153">Tensor3D::ptr</a>, <a class="el" href="helpers_8h_source.xhtml#l00155">Tensor3D::stride_x</a>, <a class="el" href="helpers_8h_source.xhtml#l00156">Tensor3D::stride_y</a>, and <a class="el" href="helpers_8h_source.xhtml#l00157">Tensor3D::stride_z</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00001162
Jenkinsb3a371b2018-05-23 11:36:53 +01001163<p>Referenced by <a class="el" href="concatenate_8cl_source.xhtml#l00081">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#l00228">pooling_layer_2()</a>, <a class="el" href="pooling__layer_8cl_source.xhtml#l00292">pooling_layer_3()</a>, <a class="el" href="pooling__layer_8cl_source.xhtml#l00565">pooling_layer_MxN_nhwc()</a>, <a class="el" href="pooling__layer__quantized_8cl_source.xhtml#l00080">pooling_layer_MxN_quantized_nchw()</a>, <a class="el" href="pooling__layer__quantized_8cl_source.xhtml#l00166">pooling_layer_MxN_quantized_nhwc()</a>, <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>
1164<div class="fragment"><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160;{</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; <span class="keywordflow">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="l00318"></a><span class="lineno"> 318</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#l00157">helpers.h:157</a></div></div>
1165<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#l00155">helpers.h:155</a></div></div>
1166<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#l00153">helpers.h:153</a></div></div>
1167<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#l00156">helpers.h:156</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +01001168</div><!-- fragment -->
1169</div>
1170</div>
1171<a class="anchor" id="ad442fb5ec8be1fff97f543150de5d822"></a>
1172<div class="memitem">
1173<div class="memproto">
1174<table class="mlabels">
1175 <tr>
1176 <td class="mlabels-left">
1177 <table class="memname">
1178 <tr>
1179 <td class="memname">__global const uchar* tensor4D_offset </td>
1180 <td>(</td>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00001181 <td class="paramtype">const <a class="el" href="struct_tensor4_d.xhtml">Tensor4D</a> *&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +01001182 <td class="paramname"><em>tensor</em>, </td>
1183 </tr>
1184 <tr>
1185 <td class="paramkey"></td>
1186 <td></td>
1187 <td class="paramtype">int&#160;</td>
1188 <td class="paramname"><em>x</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>y</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>z</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>w</em>&#160;</td>
1207 </tr>
1208 <tr>
1209 <td></td>
1210 <td>)</td>
1211 <td></td><td></td>
1212 </tr>
1213 </table>
1214 </td>
1215 <td class="mlabels-right">
1216<span class="mlabels"><span class="mlabel">inline</span></span> </td>
1217 </tr>
1218</table>
1219</div><div class="memdoc">
1220
Anthony Barbierf45d5a92018-01-24 16:23:15 +00001221<p>Get the pointer position of a <a class="el" href="struct_tensor4_d.xhtml" title="Structure to hold 4D tensor information. ">Tensor4D</a>. </p>
Kaizen8938bd32017-09-28 14:38:23 +01001222<dl class="params"><dt>Parameters</dt><dd>
1223 <table class="params">
1224 <tr><td class="paramdir">[in]</td><td class="paramname">tensor</td><td>Pointer to the starting position of the buffer </td></tr>
1225 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Relative X position </td></tr>
1226 <tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>Relative Y position </td></tr>
1227 <tr><td class="paramdir">[in]</td><td class="paramname">z</td><td>Relative Z position </td></tr>
1228 <tr><td class="paramdir">[in]</td><td class="paramname">w</td><td>Relative W position </td></tr>
1229 </table>
1230 </dd>
1231</dl>
1232
Jenkinsb3a371b2018-05-23 11:36:53 +01001233<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00328">328</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +01001234
Jenkinsb3a371b2018-05-23 11:36:53 +01001235<p>References <a class="el" href="helpers_8h_source.xhtml#l00163">Tensor4D::ptr</a>, <a class="el" href="helpers_8h_source.xhtml#l00168">Tensor4D::stride_w</a>, <a class="el" href="helpers_8h_source.xhtml#l00165">Tensor4D::stride_x</a>, <a class="el" href="helpers_8h_source.xhtml#l00166">Tensor4D::stride_y</a>, and <a class="el" href="helpers_8h_source.xhtml#l00167">Tensor4D::stride_z</a>.</p>
1236<div class="fragment"><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160;{</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; <span class="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="l00331"></a><span class="lineno"> 331</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#l00163">helpers.h:163</a></div></div>
1237<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#l00168">helpers.h:168</a></div></div>
1238<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#l00166">helpers.h:166</a></div></div>
1239<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#l00165">helpers.h:165</a></div></div>
1240<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#l00167">helpers.h:167</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +01001241</div><!-- fragment -->
1242</div>
1243</div>
1244<a class="anchor" id="a65fd24237c8278ecb38183f93cc70f05"></a>
1245<div class="memitem">
1246<div class="memproto">
1247<table class="mlabels">
1248 <tr>
1249 <td class="mlabels-left">
1250 <table class="memname">
1251 <tr>
1252 <td class="memname"><a class="el" href="struct_image.xhtml">Image</a> update_image_from_tensor3D_workitem_ptr </td>
1253 <td>(</td>
1254 <td class="paramtype">__global uchar *&#160;</td>
1255 <td class="paramname"><em>ptr</em>, </td>
1256 </tr>
1257 <tr>
1258 <td class="paramkey"></td>
1259 <td></td>
1260 <td class="paramtype">uint&#160;</td>
1261 <td class="paramname"><em>offset_first_element_in_bytes</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>stride_x</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>step_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>stride_y</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>step_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>stride_z</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>step_z</em>&#160;</td>
1298 </tr>
1299 <tr>
1300 <td></td>
1301 <td>)</td>
1302 <td></td><td></td>
1303 </tr>
1304 </table>
1305 </td>
1306 <td class="mlabels-right">
1307<span class="mlabels"><span class="mlabel">inline</span></span> </td>
1308 </tr>
1309</table>
1310</div><div class="memdoc">
1311
1312<p>Wrap 3D tensor information into an image structure, and make the pointer point at this workitem's data. </p>
1313<dl class="params"><dt>Parameters</dt><dd>
1314 <table class="params">
1315 <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to the starting postion of the buffer </td></tr>
1316 <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>
1317 <tr><td class="paramdir">[in]</td><td class="paramname">stride_x</td><td>Stride of the image in X dimension (in bytes) </td></tr>
1318 <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>
1319 <tr><td class="paramdir">[in]</td><td class="paramname">stride_y</td><td>Stride of the image in Y dimension (in bytes) </td></tr>
1320 <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>
1321 <tr><td class="paramdir">[in]</td><td class="paramname">stride_z</td><td>Stride of the image in Z dimension (in bytes) </td></tr>
1322 <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>
1323 </table>
1324 </dd>
1325</dl>
1326<dl class="section return"><dt>Returns</dt><dd>A 3D tensor object </dd></dl>
1327
Jenkinsb3a371b2018-05-23 11:36:53 +01001328<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00229">229</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +01001329
Jenkinsb3a371b2018-05-23 11:36:53 +01001330<p>References <a class="el" href="helpers_8h_source.xhtml#l00137">Vector::offset_first_element_in_bytes</a>, <a class="el" href="helpers_8h_source.xhtml#l00145">Image::offset_first_element_in_bytes</a>, <a class="el" href="helpers_8h_source.xhtml#l00136">Vector::ptr</a>, <a class="el" href="helpers_8h_source.xhtml#l00144">Image::ptr</a>, and <a class="el" href="helpers_8h_source.xhtml#l00138">Vector::stride_x</a>.</p>
1331<div class="fragment"><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160;{</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <a class="code" href="struct_image.xhtml">Image</a> img =</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; {</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; .<a class="code" href="struct_image.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a> = ptr,</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; .offset_first_element_in_bytes = offset_first_element_in_bytes,</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; .stride_x = stride_x,</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; .stride_y = stride_y</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; };</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; 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="l00239"></a><span class="lineno"> 239</span>&#160; <span class="keywordflow">return</span> img;</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</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#l00145">helpers.h:145</a></div></div>
1332<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#l00142">helpers.h:142</a></div></div>
1333<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#l00144">helpers.h:144</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00001334</div><!-- fragment -->
1335</div>
1336</div>
1337<a class="anchor" id="a0a4395130f74a4293a7d3a19d8fac86d"></a>
1338<div class="memitem">
1339<div class="memproto">
1340<table class="mlabels">
1341 <tr>
1342 <td class="mlabels-left">
1343 <table class="memname">
1344 <tr>
1345 <td class="memname"><a class="el" href="struct_image.xhtml">Image</a> update_image_workitem_ptr </td>
1346 <td>(</td>
1347 <td class="paramtype">__global uchar *&#160;</td>
1348 <td class="paramname"><em>ptr</em>, </td>
1349 </tr>
1350 <tr>
1351 <td class="paramkey"></td>
1352 <td></td>
1353 <td class="paramtype">uint&#160;</td>
1354 <td class="paramname"><em>offset_first_element_in_bytes</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>stride_x</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>step_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>stride_y</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>step_y</em>&#160;</td>
1379 </tr>
1380 <tr>
1381 <td></td>
1382 <td>)</td>
1383 <td></td><td></td>
1384 </tr>
1385 </table>
1386 </td>
1387 <td class="mlabels-right">
1388<span class="mlabels"><span class="mlabel">inline</span></span> </td>
1389 </tr>
1390</table>
1391</div><div class="memdoc">
1392
1393<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>
1394<dl class="params"><dt>Parameters</dt><dd>
1395 <table class="params">
1396 <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to the starting postion of the buffer </td></tr>
1397 <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>
1398 <tr><td class="paramdir">[in]</td><td class="paramname">stride_x</td><td>Stride of the image in X dimension (in bytes) </td></tr>
1399 <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>
1400 <tr><td class="paramdir">[in]</td><td class="paramname">stride_y</td><td>Stride of the image in Y dimension (in bytes) </td></tr>
1401 <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>
1402 </table>
1403 </dd>
1404</dl>
1405<dl class="section return"><dt>Returns</dt><dd>An image object </dd></dl>
1406
Jenkinsb3a371b2018-05-23 11:36:53 +01001407<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00203">203</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00001408
Jenkinsb3a371b2018-05-23 11:36:53 +01001409<p>References <a class="el" href="helpers_8h_source.xhtml#l00137">Vector::offset_first_element_in_bytes</a>, <a class="el" href="helpers_8h_source.xhtml#l00145">Image::offset_first_element_in_bytes</a>, <a class="el" href="helpers_8h_source.xhtml#l00136">Vector::ptr</a>, <a class="el" href="helpers_8h_source.xhtml#l00144">Image::ptr</a>, and <a class="el" href="helpers_8h_source.xhtml#l00138">Vector::stride_x</a>.</p>
1410<div class="fragment"><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">Image</a> img =</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; {</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; .<a class="code" href="struct_image.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a> = ptr,</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; .offset_first_element_in_bytes = offset_first_element_in_bytes,</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; .stride_x = stride_x,</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; .stride_y = stride_y</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; };</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; 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="l00213"></a><span class="lineno"> 213</span>&#160; <span class="keywordflow">return</span> img;</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</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#l00145">helpers.h:145</a></div></div>
1411<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#l00142">helpers.h:142</a></div></div>
1412<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#l00144">helpers.h:144</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00001413</div><!-- fragment -->
1414</div>
1415</div>
1416<a class="anchor" id="a912ccbcc4235bf1274c95d05b50440d4"></a>
1417<div class="memitem">
1418<div class="memproto">
1419<table class="mlabels">
1420 <tr>
1421 <td class="mlabels-left">
1422 <table class="memname">
1423 <tr>
1424 <td class="memname"><a class="el" href="struct_tensor3_d.xhtml">Tensor3D</a> update_tensor3D_workitem_ptr </td>
1425 <td>(</td>
1426 <td class="paramtype">__global uchar *&#160;</td>
1427 <td class="paramname"><em>ptr</em>, </td>
1428 </tr>
1429 <tr>
1430 <td class="paramkey"></td>
1431 <td></td>
1432 <td class="paramtype">uint&#160;</td>
1433 <td class="paramname"><em>offset_first_element_in_bytes</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>stride_x</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>step_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>stride_y</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>step_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>stride_z</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>step_z</em>&#160;</td>
1470 </tr>
1471 <tr>
1472 <td></td>
1473 <td>)</td>
1474 <td></td><td></td>
1475 </tr>
1476 </table>
1477 </td>
1478 <td class="mlabels-right">
1479<span class="mlabels"><span class="mlabel">inline</span></span> </td>
1480 </tr>
1481</table>
1482</div><div class="memdoc">
1483
1484<p>Wrap 3D tensor information into an tensor structure, and make the pointer point at this workitem's data. </p>
1485<dl class="params"><dt>Parameters</dt><dd>
1486 <table class="params">
1487 <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to the starting postion of the buffer </td></tr>
1488 <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>
1489 <tr><td class="paramdir">[in]</td><td class="paramname">stride_x</td><td>Stride of the image in X dimension (in bytes) </td></tr>
1490 <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>
1491 <tr><td class="paramdir">[in]</td><td class="paramname">stride_y</td><td>Stride of the image in Y dimension (in bytes) </td></tr>
1492 <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>
1493 <tr><td class="paramdir">[in]</td><td class="paramname">stride_z</td><td>Stride of the image in Z dimension (in bytes) </td></tr>
1494 <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>
1495 </table>
1496 </dd>
1497</dl>
1498<dl class="section return"><dt>Returns</dt><dd>A 3D tensor object </dd></dl>
1499
Jenkinsb3a371b2018-05-23 11:36:53 +01001500<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00255">255</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00001501
Jenkinsb3a371b2018-05-23 11:36:53 +01001502<p>References <a class="el" href="helpers_8h_source.xhtml#l00137">Vector::offset_first_element_in_bytes</a>, <a class="el" href="helpers_8h_source.xhtml#l00154">Tensor3D::offset_first_element_in_bytes</a>, <a class="el" href="helpers_8h_source.xhtml#l00136">Vector::ptr</a>, <a class="el" href="helpers_8h_source.xhtml#l00153">Tensor3D::ptr</a>, and <a class="el" href="helpers_8h_source.xhtml#l00138">Vector::stride_x</a>.</p>
1503<div class="fragment"><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160;{</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; <a class="code" href="struct_tensor3_d.xhtml">Tensor3D</a> tensor =</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; {</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; .<a class="code" href="struct_tensor3_d.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a> = ptr,</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; .offset_first_element_in_bytes = offset_first_element_in_bytes,</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; .stride_x = stride_x,</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; .stride_y = stride_y,</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; .stride_z = stride_z</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; };</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; 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="l00266"></a><span class="lineno"> 266</span>&#160; <span class="keywordflow">return</span> tensor;</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</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#l00151">helpers.h:151</a></div></div>
1504<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#l00153">helpers.h:153</a></div></div>
1505<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#l00154">helpers.h:154</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +01001506</div><!-- fragment -->
1507</div>
1508</div>
1509<a class="anchor" id="a87a9d201ccc6b81332852d562bb7ee13"></a>
1510<div class="memitem">
1511<div class="memproto">
1512<table class="mlabels">
1513 <tr>
1514 <td class="mlabels-left">
1515 <table class="memname">
1516 <tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00001517 <td class="memname"><a class="el" href="struct_tensor4_d.xhtml">Tensor4D</a> update_tensor4D_workitem_ptr </td>
Kaizen8938bd32017-09-28 14:38:23 +01001518 <td>(</td>
1519 <td class="paramtype">__global uchar *&#160;</td>
1520 <td class="paramname"><em>ptr</em>, </td>
1521 </tr>
1522 <tr>
1523 <td class="paramkey"></td>
1524 <td></td>
1525 <td class="paramtype">uint&#160;</td>
1526 <td class="paramname"><em>offset_first_element_in_bytes</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>stride_x</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>step_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>stride_y</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>step_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>stride_z</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>step_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>stride_w</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>step_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>mod_size</em>&#160;</td>
1581 </tr>
1582 <tr>
1583 <td></td>
1584 <td>)</td>
1585 <td></td><td></td>
1586 </tr>
1587 </table>
1588 </td>
1589 <td class="mlabels-right">
1590<span class="mlabels"><span class="mlabel">inline</span></span> </td>
1591 </tr>
1592</table>
1593</div><div class="memdoc">
1594
Jenkinsb3a371b2018-05-23 11:36:53 +01001595<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00269">269</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +01001596
Jenkinsb3a371b2018-05-23 11:36:53 +01001597<p>References <a class="el" href="helpers_8h_source.xhtml#l00137">Vector::offset_first_element_in_bytes</a>, <a class="el" href="helpers_8h_source.xhtml#l00164">Tensor4D::offset_first_element_in_bytes</a>, <a class="el" href="helpers_8h_source.xhtml#l00136">Vector::ptr</a>, <a class="el" href="helpers_8h_source.xhtml#l00163">Tensor4D::ptr</a>, and <a class="el" href="helpers_8h_source.xhtml#l00138">Vector::stride_x</a>.</p>
1598<div class="fragment"><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160;{</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <a class="code" href="struct_tensor4_d.xhtml">Tensor4D</a> tensor =</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; {</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; .<a class="code" href="struct_tensor4_d.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a> = ptr,</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; .offset_first_element_in_bytes = offset_first_element_in_bytes,</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; .stride_x = stride_x,</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; .stride_y = stride_y,</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; .stride_z = stride_z,</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; .stride_w = stride_w</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; };</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160;</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</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="l00284"></a><span class="lineno"> 284</span>&#160; <span class="keywordflow">return</span> tensor;</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</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#l00163">helpers.h:163</a></div></div>
1599<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#l00161">helpers.h:161</a></div></div>
1600<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#l00164">helpers.h:164</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00001601</div><!-- fragment -->
1602</div>
1603</div>
1604<a class="anchor" id="a8fee90913ba658b25516a43cf71e5cbd"></a>
1605<div class="memitem">
1606<div class="memproto">
1607<table class="mlabels">
1608 <tr>
1609 <td class="mlabels-left">
1610 <table class="memname">
1611 <tr>
1612 <td class="memname"><a class="el" href="struct_vector.xhtml">Vector</a> update_vector_workitem_ptr </td>
1613 <td>(</td>
1614 <td class="paramtype">__global uchar *&#160;</td>
1615 <td class="paramname"><em>ptr</em>, </td>
1616 </tr>
1617 <tr>
1618 <td class="paramkey"></td>
1619 <td></td>
1620 <td class="paramtype">uint&#160;</td>
1621 <td class="paramname"><em>offset_first_element_in_bytes</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>stride_x</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>step_x</em>&#160;</td>
1634 </tr>
1635 <tr>
1636 <td></td>
1637 <td>)</td>
1638 <td></td><td></td>
1639 </tr>
1640 </table>
1641 </td>
1642 <td class="mlabels-right">
1643<span class="mlabels"><span class="mlabel">inline</span></span> </td>
1644 </tr>
1645</table>
1646</div><div class="memdoc">
1647
1648<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>
1649<dl class="params"><dt>Parameters</dt><dd>
1650 <table class="params">
1651 <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to the starting postion of the buffer </td></tr>
1652 <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>
1653 <tr><td class="paramdir">[in]</td><td class="paramname">stride_x</td><td>Stride of the vector in X dimension (in bytes) </td></tr>
1654 <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>
1655 </table>
1656 </dd>
1657</dl>
1658<dl class="section return"><dt>Returns</dt><dd>An image object </dd></dl>
1659
Jenkinsb3a371b2018-05-23 11:36:53 +01001660<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00180">180</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00001661
Jenkinsb3a371b2018-05-23 11:36:53 +01001662<p>References <a class="el" href="helpers_8h_source.xhtml#l00137">Vector::offset_first_element_in_bytes</a>, <a class="el" href="helpers_8h_source.xhtml#l00136">Vector::ptr</a>, and <a class="el" href="helpers_8h_source.xhtml#l00138">Vector::stride_x</a>.</p>
1663<div class="fragment"><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;{</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <a class="code" href="struct_vector.xhtml">Vector</a> vector =</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; {</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; .<a class="code" href="struct_vector.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a> = ptr,</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; .offset_first_element_in_bytes = offset_first_element_in_bytes,</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; .stride_x = stride_x,</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; };</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; 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="l00189"></a><span class="lineno"> 189</span>&#160; <span class="keywordflow">return</span> vector;</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</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#l00134">helpers.h:134</a></div></div>
1664<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#l00136">helpers.h:136</a></div></div>
1665<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#l00137">helpers.h:137</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00001666</div><!-- fragment -->
1667</div>
1668</div>
Anthony Barbier46d59272017-05-04 09:15:15 +01001669<a class="anchor" id="a7e4940407322d6f0ccb8b6b86b856019"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +00001670<div class="memitem">
1671<div class="memproto">
1672<table class="mlabels">
1673 <tr>
1674 <td class="mlabels-left">
1675 <table class="memname">
1676 <tr>
1677 <td class="memname">__global const uchar* vector_offset </td>
1678 <td>(</td>
Anthony Barbier46d59272017-05-04 09:15:15 +01001679 <td class="paramtype">const <a class="el" href="struct_vector.xhtml">Vector</a> *&#160;</td>
1680 <td class="paramname"><em>vec</em>, </td>
Anthony Barbier871448e2017-03-24 14:54:29 +00001681 </tr>
1682 <tr>
1683 <td class="paramkey"></td>
1684 <td></td>
1685 <td class="paramtype">int&#160;</td>
1686 <td class="paramname"><em>x</em>&#160;</td>
1687 </tr>
1688 <tr>
1689 <td></td>
1690 <td>)</td>
1691 <td></td><td></td>
1692 </tr>
1693 </table>
1694 </td>
1695 <td class="mlabels-right">
1696<span class="mlabels"><span class="mlabel">inline</span></span> </td>
1697 </tr>
1698</table>
1699</div><div class="memdoc">
1700
1701<p>Get the pointer position of a <a class="el" href="struct_vector.xhtml" title="Structure to hold Vector information. ">Vector</a>. </p>
1702<dl class="params"><dt>Parameters</dt><dd>
1703 <table class="params">
Anthony Barbier46d59272017-05-04 09:15:15 +01001704 <tr><td class="paramdir">[in]</td><td class="paramname">vec</td><td>Pointer to the starting position of the buffer </td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001705 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Relative X position </td></tr>
1706 </table>
1707 </dd>
1708</dl>
1709
Jenkinsb3a371b2018-05-23 11:36:53 +01001710<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00292">292</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00001711
Jenkinsb3a371b2018-05-23 11:36:53 +01001712<p>References <a class="el" href="helpers_8h_source.xhtml#l00136">Vector::ptr</a>, and <a class="el" href="helpers_8h_source.xhtml#l00138">Vector::stride_x</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +01001713
Jenkinsb3a371b2018-05-23 11:36:53 +01001714<p>Referenced by <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>
1715<div class="fragment"><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160;{</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <span class="keywordflow">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="l00295"></a><span class="lineno"> 295</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#l00138">helpers.h:138</a></div></div>
1716<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#l00136">helpers.h:136</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00001717</div><!-- fragment -->
1718</div>
1719</div>
1720</div><!-- contents -->
1721</div><!-- doc-content -->
1722<!-- start footer part -->
1723<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
1724 <ul>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001725 <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>
Jenkinsb3a371b2018-05-23 11:36:53 +01001726 <li class="footer">Generated on Wed May 23 2018 11:36:39 for Compute Library by
Anthony Barbier871448e2017-03-24 14:54:29 +00001727 <a href="http://www.doxygen.org/index.html">
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001728 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
Anthony Barbier871448e2017-03-24 14:54:29 +00001729 </ul>
1730</div>
1731</body>
1732</html>