1 <!-- HTML header for doxygen 1.8.9.1-->
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml">
5 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
6 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
7 <meta name="generator" content="Doxygen 1.8.11"/>
8 <meta name="robots" content="NOINDEX, NOFOLLOW" /> <!-- Prevent indexing by search engines -->
9 <title>Compute Library: PaddingCalculator Class Reference</title>
10 <link href="tabs.css" rel="stylesheet" type="text/css"/>
11 <script type="text/javascript" src="jquery.js"></script>
12 <script type="text/javascript" src="dynsections.js"></script>
13 <link href="navtree.css" rel="stylesheet" type="text/css"/>
14 <script type="text/javascript" src="resize.js"></script>
15 <script type="text/javascript" src="navtreedata.js"></script>
16 <script type="text/javascript" src="navtree.js"></script>
17 <script type="text/javascript">
18 $(document).ready(initResizable);
19 $(window).load(resizeHeight);
21 <link href="search/search.css" rel="stylesheet" type="text/css"/>
22 <script type="text/javascript" src="search/searchdata.js"></script>
23 <script type="text/javascript" src="search/search.js"></script>
24 <script type="text/javascript">
25 $(document).ready(function() { init_search(); });
27 <script type="text/x-mathjax-config">
29 extensions: ["tex2jax.js"],
30 jax: ["input/TeX","output/HTML-CSS"],
32 </script><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
33 <link href="doxygen.css" rel="stylesheet" type="text/css" />
36 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
38 <table cellspacing="0" cellpadding="0">
40 <tr style="height: 56px;">
41 <td style="padding-left: 0.5em;">
42 <div id="projectname">Compute Library
43  <span id="projectnumber">18.05</span>
50 <!-- end header part -->
51 <!-- Generated by Doxygen 1.8.11 -->
52 <script type="text/javascript">
53 var searchBox = new SearchBox("searchBox", "search",false,'Search');
55 <div id="navrow1" class="tabs">
57 <li><a href="index.xhtml"><span>Main Page</span></a></li>
58 <li><a href="pages.xhtml"><span>Related Pages</span></a></li>
59 <li><a href="namespaces.xhtml"><span>Namespaces</span></a></li>
60 <li class="current"><a href="annotated.xhtml"><span>Data Structures</span></a></li>
61 <li><a href="files.xhtml"><span>Files</span></a></li>
63 <div id="MSearchBox" class="MSearchBoxInactive">
65 <img id="MSearchSelect" src="search/mag_sel.png"
66 onmouseover="return searchBox.OnSearchSelectShow()"
67 onmouseout="return searchBox.OnSearchSelectHide()"
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>
80 <div id="navrow2" class="tabs2">
82 <li><a href="annotated.xhtml"><span>Data Structures</span></a></li>
83 <li><a href="classes.xhtml"><span>Data Structure Index</span></a></li>
84 <li><a href="inherits.xhtml"><span>Class Hierarchy</span></a></li>
85 <li><a href="functions.xhtml"><span>Data Fields</span></a></li>
89 <div id="side-nav" class="ui-resizable side-nav-resizable">
91 <div id="nav-tree-contents">
92 <div id="nav-sync" class="sync"></div>
95 <div id="splitbar" style="-moz-user-select:none;"
96 class="ui-resizable-handle">
99 <script type="text/javascript">
100 $(document).ready(function(){initNavTree('classarm__compute_1_1test_1_1_padding_calculator.xhtml','');});
102 <div id="doc-content">
103 <!-- window showing the filter options -->
104 <div id="MSearchSelectWindow"
105 onmouseover="return searchBox.OnSearchSelectShow()"
106 onmouseout="return searchBox.OnSearchSelectHide()"
107 onkeydown="return searchBox.OnSearchSelectKey(event)">
110 <!-- iframe showing the search results (closed by default) -->
111 <div id="MSearchResultsWindow">
112 <iframe src="javascript:void(0)" frameborder="0"
113 name="MSearchResults" id="MSearchResults">
118 <div class="summary">
119 <a href="#pub-types">Public Types</a> |
120 <a href="#pub-methods">Public Member Functions</a> </div>
121 <div class="headertitle">
122 <div class="title">PaddingCalculator Class Reference<span class="mlabels"><span class="mlabel">final</span></span></div> </div>
124 <div class="contents">
126 <p>Calculate required padding.
127 <a href="classarm__compute_1_1test_1_1_padding_calculator.xhtml#details">More...</a></p>
129 <p><code>#include <<a class="el" href="_padding_calculator_8h_source.xhtml">PaddingCalculator.h</a>></code></p>
130 <table class="memberdecls">
131 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
132 Public Types</h2></td></tr>
133 <tr class="memitem:a0e65ad13124ea2cb5e255b640464e35f"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1test_1_1_padding_calculator.xhtml#a0e65ad13124ea2cb5e255b640464e35f">Option</a> { <a class="el" href="classarm__compute_1_1test_1_1_padding_calculator.xhtml#a0e65ad13124ea2cb5e255b640464e35fab2b68da4be5fb8de72fb3679df88cf8e">EXCLUDE_BORDER</a>,
134 <a class="el" href="classarm__compute_1_1test_1_1_padding_calculator.xhtml#a0e65ad13124ea2cb5e255b640464e35facdccee7243b006a86ce2e3f33795b5be">INCLUDE_BORDER</a>
135 }<tr class="memdesc:a0e65ad13124ea2cb5e255b640464e35f"><td class="mdescLeft"> </td><td class="mdescRight">Options for computing the padding. <a href="classarm__compute_1_1test_1_1_padding_calculator.xhtml#a0e65ad13124ea2cb5e255b640464e35f">More...</a><br /></td></tr>
137 <tr class="separator:a0e65ad13124ea2cb5e255b640464e35f"><td class="memSeparator" colspan="2"> </td></tr>
138 </table><table class="memberdecls">
139 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
140 Public Member Functions</h2></td></tr>
141 <tr class="memitem:a309f4b89522e179a81197cb86c6f2147"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1test_1_1_padding_calculator.xhtml#a309f4b89522e179a81197cb86c6f2147">PaddingCalculator</a> (int size, int processed_elements)</td></tr>
142 <tr class="memdesc:a309f4b89522e179a81197cb86c6f2147"><td class="mdescLeft"> </td><td class="mdescRight">Construct calculator with size of tensor's dimension and step size. <a href="#a309f4b89522e179a81197cb86c6f2147">More...</a><br /></td></tr>
143 <tr class="separator:a309f4b89522e179a81197cb86c6f2147"><td class="memSeparator" colspan="2"> </td></tr>
144 <tr class="memitem:a9926bc2129fe1ad070b6f225873ccfac"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1test_1_1_padding_calculator.xhtml#a9926bc2129fe1ad070b6f225873ccfac">set_border_mode</a> (<a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327">BorderMode</a> mode)</td></tr>
145 <tr class="memdesc:a9926bc2129fe1ad070b6f225873ccfac"><td class="mdescLeft"> </td><td class="mdescRight">Set border mode. <a href="#a9926bc2129fe1ad070b6f225873ccfac">More...</a><br /></td></tr>
146 <tr class="separator:a9926bc2129fe1ad070b6f225873ccfac"><td class="memSeparator" colspan="2"> </td></tr>
147 <tr class="memitem:aacfa81e91a8e77c44b1221606374f8b1"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1test_1_1_padding_calculator.xhtml#aacfa81e91a8e77c44b1221606374f8b1">set_border_size</a> (int size)</td></tr>
148 <tr class="memdesc:aacfa81e91a8e77c44b1221606374f8b1"><td class="mdescLeft"> </td><td class="mdescRight">Set border size. <a href="#aacfa81e91a8e77c44b1221606374f8b1">More...</a><br /></td></tr>
149 <tr class="separator:aacfa81e91a8e77c44b1221606374f8b1"><td class="memSeparator" colspan="2"> </td></tr>
150 <tr class="memitem:a8a17e32f289144bcb2040eaa31d149f0"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1test_1_1_padding_calculator.xhtml#a8a17e32f289144bcb2040eaa31d149f0">set_access_offset</a> (int <a class="el" href="helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a>)</td></tr>
151 <tr class="memdesc:a8a17e32f289144bcb2040eaa31d149f0"><td class="mdescLeft"> </td><td class="mdescRight">Set offset of the access relative to the current position. <a href="#a8a17e32f289144bcb2040eaa31d149f0">More...</a><br /></td></tr>
152 <tr class="separator:a8a17e32f289144bcb2040eaa31d149f0"><td class="memSeparator" colspan="2"> </td></tr>
153 <tr class="memitem:a8c357fa4f24f5e2ad4d06b68687d5e9b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1test_1_1_padding_calculator.xhtml#a8c357fa4f24f5e2ad4d06b68687d5e9b">set_processed_elements</a> (int elements)</td></tr>
154 <tr class="memdesc:a8c357fa4f24f5e2ad4d06b68687d5e9b"><td class="mdescLeft"> </td><td class="mdescRight">Set number of processed elements. <a href="#a8c357fa4f24f5e2ad4d06b68687d5e9b">More...</a><br /></td></tr>
155 <tr class="separator:a8c357fa4f24f5e2ad4d06b68687d5e9b"><td class="memSeparator" colspan="2"> </td></tr>
156 <tr class="memitem:a4456c6014ddd23c0a45573589a535183"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1test_1_1_padding_calculator.xhtml#a4456c6014ddd23c0a45573589a535183">set_accessed_elements</a> (int elements)</td></tr>
157 <tr class="memdesc:a4456c6014ddd23c0a45573589a535183"><td class="mdescLeft"> </td><td class="mdescRight">Set number of accessed elements. <a href="#a4456c6014ddd23c0a45573589a535183">More...</a><br /></td></tr>
158 <tr class="separator:a4456c6014ddd23c0a45573589a535183"><td class="memSeparator" colspan="2"> </td></tr>
159 <tr class="memitem:a2435ae6ac8638f53c4f315d3f11e84a7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4467b302fc9ec312c40580336ab783da">PaddingSize</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1test_1_1_padding_calculator.xhtml#a2435ae6ac8638f53c4f315d3f11e84a7">required_padding</a> () const </td></tr>
160 <tr class="memdesc:a2435ae6ac8638f53c4f315d3f11e84a7"><td class="mdescLeft"> </td><td class="mdescRight">Compute the required padding. <a href="#a2435ae6ac8638f53c4f315d3f11e84a7">More...</a><br /></td></tr>
161 <tr class="separator:a2435ae6ac8638f53c4f315d3f11e84a7"><td class="memSeparator" colspan="2"> </td></tr>
162 <tr class="memitem:a60c75fe00658b7111117dab64d41467e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4467b302fc9ec312c40580336ab783da">PaddingSize</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1test_1_1_padding_calculator.xhtml#a60c75fe00658b7111117dab64d41467e">required_padding</a> (<a class="el" href="classarm__compute_1_1test_1_1_padding_calculator.xhtml#a0e65ad13124ea2cb5e255b640464e35f">Option</a> option) const </td></tr>
163 <tr class="memdesc:a60c75fe00658b7111117dab64d41467e"><td class="mdescLeft"> </td><td class="mdescRight">Compute the required padding. <a href="#a60c75fe00658b7111117dab64d41467e">More...</a><br /></td></tr>
164 <tr class="separator:a60c75fe00658b7111117dab64d41467e"><td class="memSeparator" colspan="2"> </td></tr>
166 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
167 <div class="textblock"><p>Calculate required padding. </p>
169 <p>Definition at line <a class="el" href="_padding_calculator_8h_source.xhtml#l00036">36</a> of file <a class="el" href="_padding_calculator_8h_source.xhtml">PaddingCalculator.h</a>.</p>
170 </div><h2 class="groupheader">Member Enumeration Documentation</h2>
171 <a class="anchor" id="a0e65ad13124ea2cb5e255b640464e35f"></a>
172 <div class="memitem">
173 <div class="memproto">
174 <table class="mlabels">
176 <td class="mlabels-left">
177 <table class="memname">
179 <td class="memname">enum <a class="el" href="classarm__compute_1_1test_1_1_padding_calculator.xhtml#a0e65ad13124ea2cb5e255b640464e35f">Option</a></td>
183 <td class="mlabels-right">
184 <span class="mlabels"><span class="mlabel">strong</span></span> </td>
187 </div><div class="memdoc">
189 <p>Options for computing the padding. </p>
190 <table class="fieldtable">
191 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a0e65ad13124ea2cb5e255b640464e35fab2b68da4be5fb8de72fb3679df88cf8e"></a>EXCLUDE_BORDER </td><td class="fielddoc">
193 <tr><td class="fieldname"><a class="anchor" id="a0e65ad13124ea2cb5e255b640464e35facdccee7243b006a86ce2e3f33795b5be"></a>INCLUDE_BORDER </td><td class="fielddoc">
197 <p>Definition at line <a class="el" href="_padding_calculator_8h_source.xhtml#l00040">40</a> of file <a class="el" href="_padding_calculator_8h_source.xhtml">PaddingCalculator.h</a>.</p>
198 <div class="fragment"><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  {</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  EXCLUDE_BORDER,</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  INCLUDE_BORDER</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  };</div></div><!-- fragment -->
201 <h2 class="groupheader">Constructor & Destructor Documentation</h2>
202 <a class="anchor" id="a309f4b89522e179a81197cb86c6f2147"></a>
203 <div class="memitem">
204 <div class="memproto">
205 <table class="mlabels">
207 <td class="mlabels-left">
208 <table class="memname">
210 <td class="memname"><a class="el" href="classarm__compute_1_1test_1_1_padding_calculator.xhtml">PaddingCalculator</a> </td>
212 <td class="paramtype">int </td>
213 <td class="paramname"><em>size</em>, </td>
216 <td class="paramkey"></td>
218 <td class="paramtype">int </td>
219 <td class="paramname"><em>processed_elements</em> </td>
228 <td class="mlabels-right">
229 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
232 </div><div class="memdoc">
234 <p>Construct calculator with size of tensor's dimension and step size. </p>
235 <dl class="params"><dt>Parameters</dt><dd>
236 <table class="params">
237 <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Number of elements available. </td></tr>
238 <tr><td class="paramdir">[in]</td><td class="paramname">processed_elements</td><td>Number of elements processed per iteration. </td></tr>
243 <p>Definition at line <a class="el" href="_padding_calculator_8h_source.xhtml#l00051">51</a> of file <a class="el" href="_padding_calculator_8h_source.xhtml">PaddingCalculator.h</a>.</p>
245 <p>References <a class="el" href="helpers_8h_source.xhtml#l00303">offset()</a>, <a class="el" href="_padding_calculator_8h_source.xhtml#l00141">PaddingCalculator::required_padding()</a>, <a class="el" href="_padding_calculator_8h_source.xhtml#l00127">PaddingCalculator::set_access_offset()</a>, <a class="el" href="_padding_calculator_8h_source.xhtml#l00136">PaddingCalculator::set_accessed_elements()</a>, <a class="el" href="_padding_calculator_8h_source.xhtml#l00117">PaddingCalculator::set_border_mode()</a>, <a class="el" href="_padding_calculator_8h_source.xhtml#l00122">PaddingCalculator::set_border_size()</a>, <a class="el" href="_padding_calculator_8h_source.xhtml#l00132">PaddingCalculator::set_processed_elements()</a>, and <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3">arm_compute::UNDEFINED</a>.</p>
246 <div class="fragment"><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  : _size{ size }, _num_processed_elements{ processed_elements }, _num_accessed_elements{ processed_elements }</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  {</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  }</div></div><!-- fragment -->
249 <h2 class="groupheader">Member Function Documentation</h2>
250 <a class="anchor" id="a2435ae6ac8638f53c4f315d3f11e84a7"></a>
251 <div class="memitem">
252 <div class="memproto">
253 <table class="mlabels">
255 <td class="mlabels-left">
256 <table class="memname">
258 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4467b302fc9ec312c40580336ab783da">PaddingSize</a> required_padding </td>
260 <td class="paramname"></td><td>)</td>
265 <td class="mlabels-right">
266 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
269 </div><div class="memdoc">
271 <p>Compute the required padding. </p>
272 <p>If access offset is negative and border mode is not undefined, the top, bottom and left padding is set to boder size. Otherwise it is zero. The right padding is always computed based on the specified parameters.</p>
273 <dl class="section return"><dt>Returns</dt><dd>Required padding in number of elements. </dd></dl>
275 <p>Definition at line <a class="el" href="_padding_calculator_8h_source.xhtml#l00141">141</a> of file <a class="el" href="_padding_calculator_8h_source.xhtml">PaddingCalculator.h</a>.</p>
277 <p>References <a class="el" href="classarm__compute_1_1test_1_1_padding_calculator.xhtml#a0e65ad13124ea2cb5e255b640464e35fab2b68da4be5fb8de72fb3679df88cf8e">PaddingCalculator::EXCLUDE_BORDER</a>, and <a class="el" href="classarm__compute_1_1test_1_1_padding_calculator.xhtml#a0e65ad13124ea2cb5e255b640464e35facdccee7243b006a86ce2e3f33795b5be">PaddingCalculator::INCLUDE_BORDER</a>.</p>
279 <p>Referenced by <a class="el" href="validation_2_c_l_2_harris_corners_8cpp_source.xhtml#l00058">arm_compute::test::validation::DATA_TEST_CASE()</a>, <a class="el" href="_c_l_2_convolution_8cpp_source.xhtml#l00202">arm_compute::test::validation::FIXTURE_DATA_TEST_CASE()</a>, and <a class="el" href="_padding_calculator_8h_source.xhtml#l00051">PaddingCalculator::PaddingCalculator()</a>.</p>
280 <div class="fragment"><div class="line"><a name="l00142"></a><span class="lineno"> 142</span> {</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1test_1_1_padding_calculator.xhtml#a2435ae6ac8638f53c4f315d3f11e84a7">required_padding</a>(_offset < 0 ? <a class="code" href="classarm__compute_1_1test_1_1_padding_calculator.xhtml#a0e65ad13124ea2cb5e255b640464e35facdccee7243b006a86ce2e3f33795b5be">Option::INCLUDE_BORDER</a> : <a class="code" href="classarm__compute_1_1test_1_1_padding_calculator.xhtml#a0e65ad13124ea2cb5e255b640464e35fab2b68da4be5fb8de72fb3679df88cf8e">Option::EXCLUDE_BORDER</a>);</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span> }</div><div class="ttc" id="classarm__compute_1_1test_1_1_padding_calculator_xhtml_a2435ae6ac8638f53c4f315d3f11e84a7"><div class="ttname"><a href="classarm__compute_1_1test_1_1_padding_calculator.xhtml#a2435ae6ac8638f53c4f315d3f11e84a7">arm_compute::test::PaddingCalculator::required_padding</a></div><div class="ttdeci">PaddingSize required_padding() const </div><div class="ttdoc">Compute the required padding. </div><div class="ttdef"><b>Definition:</b> <a href="_padding_calculator_8h_source.xhtml#l00141">PaddingCalculator.h:141</a></div></div>
281 <div class="ttc" id="classarm__compute_1_1test_1_1_padding_calculator_xhtml_a0e65ad13124ea2cb5e255b640464e35facdccee7243b006a86ce2e3f33795b5be"><div class="ttname"><a href="classarm__compute_1_1test_1_1_padding_calculator.xhtml#a0e65ad13124ea2cb5e255b640464e35facdccee7243b006a86ce2e3f33795b5be">arm_compute::test::PaddingCalculator::Option::INCLUDE_BORDER</a></div></div>
282 <div class="ttc" id="classarm__compute_1_1test_1_1_padding_calculator_xhtml_a0e65ad13124ea2cb5e255b640464e35fab2b68da4be5fb8de72fb3679df88cf8e"><div class="ttname"><a href="classarm__compute_1_1test_1_1_padding_calculator.xhtml#a0e65ad13124ea2cb5e255b640464e35fab2b68da4be5fb8de72fb3679df88cf8e">arm_compute::test::PaddingCalculator::Option::EXCLUDE_BORDER</a></div></div>
283 </div><!-- fragment -->
286 <a class="anchor" id="a60c75fe00658b7111117dab64d41467e"></a>
287 <div class="memitem">
288 <div class="memproto">
289 <table class="mlabels">
291 <td class="mlabels-left">
292 <table class="memname">
294 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4467b302fc9ec312c40580336ab783da">PaddingSize</a> required_padding </td>
296 <td class="paramtype"><a class="el" href="classarm__compute_1_1test_1_1_padding_calculator.xhtml#a0e65ad13124ea2cb5e255b640464e35f">Option</a> </td>
297 <td class="paramname"><em>option</em></td><td>)</td>
302 <td class="mlabels-right">
303 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
306 </div><div class="memdoc">
308 <p>Compute the required padding. </p>
309 <p>If <code>option</code> is INCLUDE_BORDER and border mode is not undefined, the top, bottom and left padding is set to boder size. Otherwise it is zero. The right padding is always computed based on the specified parameters.</p>
310 <dl class="params"><dt>Parameters</dt><dd>
311 <table class="params">
312 <tr><td class="paramdir">[in]</td><td class="paramname">option</td><td>Padding option</td></tr>
316 <dl class="section return"><dt>Returns</dt><dd>Required padding in number of elements. </dd></dl>
318 <p>Definition at line <a class="el" href="_padding_calculator_8h_source.xhtml#l00146">146</a> of file <a class="el" href="_padding_calculator_8h_source.xhtml">PaddingCalculator.h</a>.</p>
320 <p>References <a class="el" href="classarm__compute_1_1test_1_1_padding_calculator.xhtml#a0e65ad13124ea2cb5e255b640464e35fab2b68da4be5fb8de72fb3679df88cf8e">PaddingCalculator::EXCLUDE_BORDER</a>, <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00902">arm_compute::test::fixed_point_arithmetic::detail::max()</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">arm_compute::U</a>, and <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3">arm_compute::UNDEFINED</a>.</p>
321 <div class="fragment"><div class="line"><a name="l00147"></a><span class="lineno"> 147</span> {</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <a class="code" href="namespacearm__compute.xhtml#a4467b302fc9ec312c40580336ab783da">PaddingSize</a> padding{ (_mode == <a class="code" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3">BorderMode::UNDEFINED</a> || option == <a class="code" href="classarm__compute_1_1test_1_1_padding_calculator.xhtml#a0e65ad13124ea2cb5e255b640464e35fab2b68da4be5fb8de72fb3679df88cf8e">Option::EXCLUDE_BORDER</a>) ? 0U : static_cast<unsigned int>(<a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::max</a>(0, _border_size)) };</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  <span class="keywordtype">int</span> padding_right = 0;</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span> </div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  <span class="keywordflow">if</span>(_mode == <a class="code" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3">BorderMode::UNDEFINED</a>)</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  {</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  padding_right = (((_size - 2 * _border_size + _num_processed_elements - 1) / _num_processed_elements) - 1) * _num_processed_elements + _num_accessed_elements - _size + _border_size + _offset;</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  }</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  {</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  padding_right = (((_size + _num_processed_elements - 1) / _num_processed_elements) - 1) * _num_processed_elements + _num_accessed_elements - _size + _offset;</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  }</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span> </div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  padding.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a78b0fed184c642b78f32fd34b228a5f9">right</a> = <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::max</a>(0, padding_right);</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span> </div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <span class="keywordflow">return</span> padding;</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a4467b302fc9ec312c40580336ab783da"><div class="ttname"><a href="namespacearm__compute.xhtml#a4467b302fc9ec312c40580336ab783da">arm_compute::PaddingSize</a></div><div class="ttdeci">BorderSize PaddingSize</div><div class="ttdoc">Container for 2D padding size. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00378">Types.h:378</a></div></div>
322 <div class="ttc" id="structarm__compute_1_1_border_size_xhtml_a78b0fed184c642b78f32fd34b228a5f9"><div class="ttname"><a href="structarm__compute_1_1_border_size.xhtml#a78b0fed184c642b78f32fd34b228a5f9">arm_compute::BorderSize::right</a></div><div class="ttdeci">unsigned int right</div><div class="ttdoc">right of the border </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00372">Types.h:372</a></div></div>
323 <div class="ttc" id="namespacearm__compute_xhtml_a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3"><div class="ttname"><a href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3">arm_compute::BorderMode::UNDEFINED</a></div><div class="ttdoc">Borders are left undefined. </div></div>
324 <div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_ad91bb73431b4de1f4946ed949d444849"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">arm_compute::test::fixed_point_arithmetic::detail::max</a></div><div class="ttdeci">fixed_point< T > max(fixed_point< T > x, fixed_point< T > y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00902">FixedPoint.h:902</a></div></div>
325 <div class="ttc" id="classarm__compute_1_1test_1_1_padding_calculator_xhtml_a0e65ad13124ea2cb5e255b640464e35fab2b68da4be5fb8de72fb3679df88cf8e"><div class="ttname"><a href="classarm__compute_1_1test_1_1_padding_calculator.xhtml#a0e65ad13124ea2cb5e255b640464e35fab2b68da4be5fb8de72fb3679df88cf8e">arm_compute::test::PaddingCalculator::Option::EXCLUDE_BORDER</a></div></div>
326 </div><!-- fragment -->
329 <a class="anchor" id="a8a17e32f289144bcb2040eaa31d149f0"></a>
330 <div class="memitem">
331 <div class="memproto">
332 <table class="mlabels">
334 <td class="mlabels-left">
335 <table class="memname">
337 <td class="memname">void set_access_offset </td>
339 <td class="paramtype">int </td>
340 <td class="paramname"><em>offset</em></td><td>)</td>
345 <td class="mlabels-right">
346 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
349 </div><div class="memdoc">
351 <p>Set offset of the access relative to the current position. </p>
352 <dl class="params"><dt>Parameters</dt><dd>
353 <table class="params">
354 <tr><td class="paramdir">[in]</td><td class="paramname">offset</td><td>Offset of the access. </td></tr>
359 <p>Definition at line <a class="el" href="_padding_calculator_8h_source.xhtml#l00127">127</a> of file <a class="el" href="_padding_calculator_8h_source.xhtml">PaddingCalculator.h</a>.</p>
361 <p>References <a class="el" href="helpers_8h_source.xhtml#l00303">offset()</a>.</p>
363 <p>Referenced by <a class="el" href="validation_2_c_l_2_harris_corners_8cpp_source.xhtml#l00058">arm_compute::test::validation::DATA_TEST_CASE()</a>, <a class="el" href="_c_l_2_convolution_8cpp_source.xhtml#l00202">arm_compute::test::validation::FIXTURE_DATA_TEST_CASE()</a>, and <a class="el" href="_padding_calculator_8h_source.xhtml#l00051">PaddingCalculator::PaddingCalculator()</a>.</p>
364 <div class="fragment"><div class="line"><a name="l00128"></a><span class="lineno"> 128</span> {</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  _offset = <a class="code" href="helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a>;</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span> }</div><div class="ttc" id="helpers_8h_xhtml_a009469e4d9b8fce3b6d5e97d2077827d"><div class="ttname"><a href="helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a></div><div class="ttdeci">__global uchar * offset(const Image *img, int x, int y)</div><div class="ttdoc">Get the pointer position of a Image. </div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00303">helpers.h:303</a></div></div>
365 </div><!-- fragment -->
368 <a class="anchor" id="a4456c6014ddd23c0a45573589a535183"></a>
369 <div class="memitem">
370 <div class="memproto">
371 <table class="mlabels">
373 <td class="mlabels-left">
374 <table class="memname">
376 <td class="memname">void set_accessed_elements </td>
378 <td class="paramtype">int </td>
379 <td class="paramname"><em>elements</em></td><td>)</td>
384 <td class="mlabels-right">
385 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
388 </div><div class="memdoc">
390 <p>Set number of accessed elements. </p>
391 <dl class="params"><dt>Parameters</dt><dd>
392 <table class="params">
393 <tr><td class="paramdir">[in]</td><td class="paramname">elements</td><td>Number of accessed elements per iteration. </td></tr>
398 <p>Definition at line <a class="el" href="_padding_calculator_8h_source.xhtml#l00136">136</a> of file <a class="el" href="_padding_calculator_8h_source.xhtml">PaddingCalculator.h</a>.</p>
400 <p>Referenced by <a class="el" href="validation_2_c_l_2_harris_corners_8cpp_source.xhtml#l00058">arm_compute::test::validation::DATA_TEST_CASE()</a>, <a class="el" href="_c_l_2_convolution_8cpp_source.xhtml#l00202">arm_compute::test::validation::FIXTURE_DATA_TEST_CASE()</a>, and <a class="el" href="_padding_calculator_8h_source.xhtml#l00051">PaddingCalculator::PaddingCalculator()</a>.</p>
401 <div class="fragment"><div class="line"><a name="l00137"></a><span class="lineno"> 137</span> {</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  _num_accessed_elements = elements;</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span> }</div></div><!-- fragment -->
404 <a class="anchor" id="a9926bc2129fe1ad070b6f225873ccfac"></a>
405 <div class="memitem">
406 <div class="memproto">
407 <table class="mlabels">
409 <td class="mlabels-left">
410 <table class="memname">
412 <td class="memname">void set_border_mode </td>
414 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327">BorderMode</a> </td>
415 <td class="paramname"><em>mode</em></td><td>)</td>
420 <td class="mlabels-right">
421 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
424 </div><div class="memdoc">
426 <p>Set border mode. </p>
427 <dl class="params"><dt>Parameters</dt><dd>
428 <table class="params">
429 <tr><td class="paramdir">[in]</td><td class="paramname">mode</td><td>Border mode. </td></tr>
434 <p>Definition at line <a class="el" href="_padding_calculator_8h_source.xhtml#l00117">117</a> of file <a class="el" href="_padding_calculator_8h_source.xhtml">PaddingCalculator.h</a>.</p>
436 <p>Referenced by <a class="el" href="validation_2_c_l_2_harris_corners_8cpp_source.xhtml#l00058">arm_compute::test::validation::DATA_TEST_CASE()</a>, <a class="el" href="_c_l_2_convolution_8cpp_source.xhtml#l00202">arm_compute::test::validation::FIXTURE_DATA_TEST_CASE()</a>, and <a class="el" href="_padding_calculator_8h_source.xhtml#l00051">PaddingCalculator::PaddingCalculator()</a>.</p>
437 <div class="fragment"><div class="line"><a name="l00118"></a><span class="lineno"> 118</span> {</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  _mode = mode;</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span> }</div></div><!-- fragment -->
440 <a class="anchor" id="aacfa81e91a8e77c44b1221606374f8b1"></a>
441 <div class="memitem">
442 <div class="memproto">
443 <table class="mlabels">
445 <td class="mlabels-left">
446 <table class="memname">
448 <td class="memname">void set_border_size </td>
450 <td class="paramtype">int </td>
451 <td class="paramname"><em>size</em></td><td>)</td>
456 <td class="mlabels-right">
457 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
460 </div><div class="memdoc">
462 <p>Set border size. </p>
463 <dl class="params"><dt>Parameters</dt><dd>
464 <table class="params">
465 <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Border size in elements. </td></tr>
470 <p>Definition at line <a class="el" href="_padding_calculator_8h_source.xhtml#l00122">122</a> of file <a class="el" href="_padding_calculator_8h_source.xhtml">PaddingCalculator.h</a>.</p>
472 <p>Referenced by <a class="el" href="validation_2_c_l_2_harris_corners_8cpp_source.xhtml#l00058">arm_compute::test::validation::DATA_TEST_CASE()</a>, <a class="el" href="_c_l_2_convolution_8cpp_source.xhtml#l00202">arm_compute::test::validation::FIXTURE_DATA_TEST_CASE()</a>, and <a class="el" href="_padding_calculator_8h_source.xhtml#l00051">PaddingCalculator::PaddingCalculator()</a>.</p>
473 <div class="fragment"><div class="line"><a name="l00123"></a><span class="lineno"> 123</span> {</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  _border_size = size;</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span> }</div></div><!-- fragment -->
476 <a class="anchor" id="a8c357fa4f24f5e2ad4d06b68687d5e9b"></a>
477 <div class="memitem">
478 <div class="memproto">
479 <table class="mlabels">
481 <td class="mlabels-left">
482 <table class="memname">
484 <td class="memname">void set_processed_elements </td>
486 <td class="paramtype">int </td>
487 <td class="paramname"><em>elements</em></td><td>)</td>
492 <td class="mlabels-right">
493 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
496 </div><div class="memdoc">
498 <p>Set number of processed elements. </p>
499 <dl class="params"><dt>Parameters</dt><dd>
500 <table class="params">
501 <tr><td class="paramdir">[in]</td><td class="paramname">elements</td><td>Number of processed elements per iteration. </td></tr>
506 <p>Definition at line <a class="el" href="_padding_calculator_8h_source.xhtml#l00132">132</a> of file <a class="el" href="_padding_calculator_8h_source.xhtml">PaddingCalculator.h</a>.</p>
508 <p>Referenced by <a class="el" href="_padding_calculator_8h_source.xhtml#l00051">PaddingCalculator::PaddingCalculator()</a>.</p>
509 <div class="fragment"><div class="line"><a name="l00133"></a><span class="lineno"> 133</span> {</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  _num_processed_elements = elements;</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span> }</div></div><!-- fragment -->
512 <hr/>The documentation for this class was generated from the following file:<ul>
513 <li>tests/<a class="el" href="_padding_calculator_8h_source.xhtml">PaddingCalculator.h</a></li>
515 </div><!-- contents -->
516 </div><!-- doc-content -->
517 <!-- start footer part -->
518 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
520 <li class="navelem"><a class="el" href="namespacearm__compute.xhtml">arm_compute</a></li><li class="navelem"><a class="el" href="namespacearm__compute_1_1test.xhtml">test</a></li><li class="navelem"><a class="el" href="classarm__compute_1_1test_1_1_padding_calculator.xhtml">PaddingCalculator</a></li>
521 <li class="footer">Generated on Wed May 23 2018 11:36:44 for Compute Library by
522 <a href="http://www.doxygen.org/index.html">
523 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>