arm_compute v18.05
[platform/upstream/armcl.git] / documentation / classarm__compute_1_1test_1_1_padding_calculator.xhtml
1 <!-- HTML header for doxygen 1.8.9.1-->
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml">
4 <head>
5 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
6 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
7 <meta name="generator" content="Doxygen 1.8.11"/>
8 <meta name="robots" content="NOINDEX, NOFOLLOW" /> <!-- Prevent indexing by search engines -->
9 <title>Compute Library: 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);
20 </script>
21 <link href="search/search.css" rel="stylesheet" type="text/css"/>
22 <script type="text/javascript" src="search/searchdata.js"></script>
23 <script type="text/javascript" src="search/search.js"></script>
24 <script type="text/javascript">
25   $(document).ready(function() { init_search(); });
26 </script>
27 <script type="text/x-mathjax-config">
28   MathJax.Hub.Config({
29     extensions: ["tex2jax.js"],
30     jax: ["input/TeX","output/HTML-CSS"],
31 });
32 </script><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
33 <link href="doxygen.css" rel="stylesheet" type="text/css" />
34 </head>
35 <body>
36 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
37 <div id="titlearea">
38 <table cellspacing="0" cellpadding="0">
39  <tbody>
40  <tr style="height: 56px;">
41   <td style="padding-left: 0.5em;">
42    <div id="projectname">Compute Library
43    &#160;<span id="projectnumber">18.05</span>
44    </div>
45   </td>
46  </tr>
47  </tbody>
48 </table>
49 </div>
50 <!-- end header part -->
51 <!-- Generated by Doxygen 1.8.11 -->
52 <script type="text/javascript">
53 var searchBox = new SearchBox("searchBox", "search",false,'Search');
54 </script>
55   <div id="navrow1" class="tabs">
56     <ul class="tablist">
57       <li><a href="index.xhtml"><span>Main&#160;Page</span></a></li>
58       <li><a href="pages.xhtml"><span>Related&#160;Pages</span></a></li>
59       <li><a href="namespaces.xhtml"><span>Namespaces</span></a></li>
60       <li class="current"><a href="annotated.xhtml"><span>Data&#160;Structures</span></a></li>
61       <li><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="annotated.xhtml"><span>Data&#160;Structures</span></a></li>
83       <li><a href="classes.xhtml"><span>Data&#160;Structure&#160;Index</span></a></li>
84       <li><a href="inherits.xhtml"><span>Class&#160;Hierarchy</span></a></li>
85       <li><a href="functions.xhtml"><span>Data&#160;Fields</span></a></li>
86     </ul>
87   </div>
88 </div><!-- top -->
89 <div id="side-nav" class="ui-resizable side-nav-resizable">
90   <div id="nav-tree">
91     <div id="nav-tree-contents">
92       <div id="nav-sync" class="sync"></div>
93     </div>
94   </div>
95   <div id="splitbar" style="-moz-user-select:none;" 
96        class="ui-resizable-handle">
97   </div>
98 </div>
99 <script type="text/javascript">
100 $(document).ready(function(){initNavTree('classarm__compute_1_1test_1_1_padding_calculator.xhtml','');});
101 </script>
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)">
108 </div>
109
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">
114 </iframe>
115 </div>
116
117 <div class="header">
118   <div class="summary">
119 <a href="#pub-types">Public Types</a> &#124;
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>
123 </div><!--header-->
124 <div class="contents">
125
126 <p>Calculate required padding.  
127  <a href="classarm__compute_1_1test_1_1_padding_calculator.xhtml#details">More...</a></p>
128
129 <p><code>#include &lt;<a class="el" href="_padding_calculator_8h_source.xhtml">PaddingCalculator.h</a>&gt;</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 &#160;</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">&#160;</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>
136 </td></tr>
137 <tr class="separator:a0e65ad13124ea2cb5e255b640464e35f"><td class="memSeparator" colspan="2">&#160;</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">&#160;</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">&#160;</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">&#160;</td></tr>
144 <tr class="memitem:a9926bc2129fe1ad070b6f225873ccfac"><td class="memItemLeft" align="right" valign="top">void&#160;</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">&#160;</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">&#160;</td></tr>
147 <tr class="memitem:aacfa81e91a8e77c44b1221606374f8b1"><td class="memItemLeft" align="right" valign="top">void&#160;</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">&#160;</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">&#160;</td></tr>
150 <tr class="memitem:a8a17e32f289144bcb2040eaa31d149f0"><td class="memItemLeft" align="right" valign="top">void&#160;</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">&#160;</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">&#160;</td></tr>
153 <tr class="memitem:a8c357fa4f24f5e2ad4d06b68687d5e9b"><td class="memItemLeft" align="right" valign="top">void&#160;</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">&#160;</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">&#160;</td></tr>
156 <tr class="memitem:a4456c6014ddd23c0a45573589a535183"><td class="memItemLeft" align="right" valign="top">void&#160;</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">&#160;</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">&#160;</td></tr>
159 <tr class="memitem:a2435ae6ac8638f53c4f315d3f11e84a7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4467b302fc9ec312c40580336ab783da">PaddingSize</a>&#160;</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">&#160;</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">&#160;</td></tr>
162 <tr class="memitem:a60c75fe00658b7111117dab64d41467e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4467b302fc9ec312c40580336ab783da">PaddingSize</a>&#160;</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">&#160;</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">&#160;</td></tr>
165 </table>
166 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
167 <div class="textblock"><p>Calculate required padding. </p>
168
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">
175   <tr>
176   <td class="mlabels-left">
177       <table class="memname">
178         <tr>
179           <td class="memname">enum <a class="el" href="classarm__compute_1_1test_1_1_padding_calculator.xhtml#a0e65ad13124ea2cb5e255b640464e35f">Option</a></td>
180         </tr>
181       </table>
182   </td>
183   <td class="mlabels-right">
184 <span class="mlabels"><span class="mlabel">strong</span></span>  </td>
185   </tr>
186 </table>
187 </div><div class="memdoc">
188
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&#160;</td><td class="fielddoc">
192 </td></tr>
193 <tr><td class="fieldname"><a class="anchor" id="a0e65ad13124ea2cb5e255b640464e35facdccee7243b006a86ce2e3f33795b5be"></a>INCLUDE_BORDER&#160;</td><td class="fielddoc">
194 </td></tr>
195 </table>
196
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>&#160;    {</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;        EXCLUDE_BORDER,</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;        INCLUDE_BORDER</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;    };</div></div><!-- fragment -->
199 </div>
200 </div>
201 <h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
202 <a class="anchor" id="a309f4b89522e179a81197cb86c6f2147"></a>
203 <div class="memitem">
204 <div class="memproto">
205 <table class="mlabels">
206   <tr>
207   <td class="mlabels-left">
208       <table class="memname">
209         <tr>
210           <td class="memname"><a class="el" href="classarm__compute_1_1test_1_1_padding_calculator.xhtml">PaddingCalculator</a> </td>
211           <td>(</td>
212           <td class="paramtype">int&#160;</td>
213           <td class="paramname"><em>size</em>, </td>
214         </tr>
215         <tr>
216           <td class="paramkey"></td>
217           <td></td>
218           <td class="paramtype">int&#160;</td>
219           <td class="paramname"><em>processed_elements</em>&#160;</td>
220         </tr>
221         <tr>
222           <td></td>
223           <td>)</td>
224           <td></td><td></td>
225         </tr>
226       </table>
227   </td>
228   <td class="mlabels-right">
229 <span class="mlabels"><span class="mlabel">inline</span></span>  </td>
230   </tr>
231 </table>
232 </div><div class="memdoc">
233
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>
239   </table>
240   </dd>
241 </dl>
242
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>
244
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>&#160;        : _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>&#160;    {</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    }</div></div><!-- fragment -->
247 </div>
248 </div>
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">
254   <tr>
255   <td class="mlabels-left">
256       <table class="memname">
257         <tr>
258           <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4467b302fc9ec312c40580336ab783da">PaddingSize</a> required_padding </td>
259           <td>(</td>
260           <td class="paramname"></td><td>)</td>
261           <td> const</td>
262         </tr>
263       </table>
264   </td>
265   <td class="mlabels-right">
266 <span class="mlabels"><span class="mlabel">inline</span></span>  </td>
267   </tr>
268 </table>
269 </div><div class="memdoc">
270
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>
274
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>
276
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>
278
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>&#160;{</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1test_1_1_padding_calculator.xhtml#a2435ae6ac8638f53c4f315d3f11e84a7">required_padding</a>(_offset &lt; 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>&#160;}</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 -->
284 </div>
285 </div>
286 <a class="anchor" id="a60c75fe00658b7111117dab64d41467e"></a>
287 <div class="memitem">
288 <div class="memproto">
289 <table class="mlabels">
290   <tr>
291   <td class="mlabels-left">
292       <table class="memname">
293         <tr>
294           <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4467b302fc9ec312c40580336ab783da">PaddingSize</a> required_padding </td>
295           <td>(</td>
296           <td class="paramtype"><a class="el" href="classarm__compute_1_1test_1_1_padding_calculator.xhtml#a0e65ad13124ea2cb5e255b640464e35f">Option</a>&#160;</td>
297           <td class="paramname"><em>option</em></td><td>)</td>
298           <td> const</td>
299         </tr>
300       </table>
301   </td>
302   <td class="mlabels-right">
303 <span class="mlabels"><span class="mlabel">inline</span></span>  </td>
304   </tr>
305 </table>
306 </div><div class="memdoc">
307
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>
313   </table>
314   </dd>
315 </dl>
316 <dl class="section return"><dt>Returns</dt><dd>Required padding in number of elements. </dd></dl>
317
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>
319
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>&#160;{</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;    <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&lt;unsigned int&gt;(<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>&#160;</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;    <span class="keywordtype">int</span> padding_right = 0;</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;    <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>&#160;    {</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;        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>&#160;    }</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;    <span class="keywordflow">else</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;    {</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;        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>&#160;    }</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;    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>&#160;</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;    <span class="keywordflow">return</span> padding;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;}</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&lt; T &gt; max(fixed_point&lt; T &gt; x, fixed_point&lt; T &gt; y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#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 -->
327 </div>
328 </div>
329 <a class="anchor" id="a8a17e32f289144bcb2040eaa31d149f0"></a>
330 <div class="memitem">
331 <div class="memproto">
332 <table class="mlabels">
333   <tr>
334   <td class="mlabels-left">
335       <table class="memname">
336         <tr>
337           <td class="memname">void set_access_offset </td>
338           <td>(</td>
339           <td class="paramtype">int&#160;</td>
340           <td class="paramname"><em>offset</em></td><td>)</td>
341           <td></td>
342         </tr>
343       </table>
344   </td>
345   <td class="mlabels-right">
346 <span class="mlabels"><span class="mlabel">inline</span></span>  </td>
347   </tr>
348 </table>
349 </div><div class="memdoc">
350
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>
355   </table>
356   </dd>
357 </dl>
358
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>
360
361 <p>References <a class="el" href="helpers_8h_source.xhtml#l00303">offset()</a>.</p>
362
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>&#160;{</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;    _offset = <a class="code" href="helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a>;</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;}</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 -->
366 </div>
367 </div>
368 <a class="anchor" id="a4456c6014ddd23c0a45573589a535183"></a>
369 <div class="memitem">
370 <div class="memproto">
371 <table class="mlabels">
372   <tr>
373   <td class="mlabels-left">
374       <table class="memname">
375         <tr>
376           <td class="memname">void set_accessed_elements </td>
377           <td>(</td>
378           <td class="paramtype">int&#160;</td>
379           <td class="paramname"><em>elements</em></td><td>)</td>
380           <td></td>
381         </tr>
382       </table>
383   </td>
384   <td class="mlabels-right">
385 <span class="mlabels"><span class="mlabel">inline</span></span>  </td>
386   </tr>
387 </table>
388 </div><div class="memdoc">
389
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>
394   </table>
395   </dd>
396 </dl>
397
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>
399
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>&#160;{</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;    _num_accessed_elements = elements;</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;}</div></div><!-- fragment -->
402 </div>
403 </div>
404 <a class="anchor" id="a9926bc2129fe1ad070b6f225873ccfac"></a>
405 <div class="memitem">
406 <div class="memproto">
407 <table class="mlabels">
408   <tr>
409   <td class="mlabels-left">
410       <table class="memname">
411         <tr>
412           <td class="memname">void set_border_mode </td>
413           <td>(</td>
414           <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327">BorderMode</a>&#160;</td>
415           <td class="paramname"><em>mode</em></td><td>)</td>
416           <td></td>
417         </tr>
418       </table>
419   </td>
420   <td class="mlabels-right">
421 <span class="mlabels"><span class="mlabel">inline</span></span>  </td>
422   </tr>
423 </table>
424 </div><div class="memdoc">
425
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>
430   </table>
431   </dd>
432 </dl>
433
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>
435
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>&#160;{</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;    _mode = mode;</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;}</div></div><!-- fragment -->
438 </div>
439 </div>
440 <a class="anchor" id="aacfa81e91a8e77c44b1221606374f8b1"></a>
441 <div class="memitem">
442 <div class="memproto">
443 <table class="mlabels">
444   <tr>
445   <td class="mlabels-left">
446       <table class="memname">
447         <tr>
448           <td class="memname">void set_border_size </td>
449           <td>(</td>
450           <td class="paramtype">int&#160;</td>
451           <td class="paramname"><em>size</em></td><td>)</td>
452           <td></td>
453         </tr>
454       </table>
455   </td>
456   <td class="mlabels-right">
457 <span class="mlabels"><span class="mlabel">inline</span></span>  </td>
458   </tr>
459 </table>
460 </div><div class="memdoc">
461
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>
466   </table>
467   </dd>
468 </dl>
469
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>
471
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>&#160;{</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;    _border_size = size;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;}</div></div><!-- fragment -->
474 </div>
475 </div>
476 <a class="anchor" id="a8c357fa4f24f5e2ad4d06b68687d5e9b"></a>
477 <div class="memitem">
478 <div class="memproto">
479 <table class="mlabels">
480   <tr>
481   <td class="mlabels-left">
482       <table class="memname">
483         <tr>
484           <td class="memname">void set_processed_elements </td>
485           <td>(</td>
486           <td class="paramtype">int&#160;</td>
487           <td class="paramname"><em>elements</em></td><td>)</td>
488           <td></td>
489         </tr>
490       </table>
491   </td>
492   <td class="mlabels-right">
493 <span class="mlabels"><span class="mlabel">inline</span></span>  </td>
494   </tr>
495 </table>
496 </div><div class="memdoc">
497
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>
502   </table>
503   </dd>
504 </dl>
505
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>
507
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>&#160;{</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;    _num_processed_elements = elements;</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;}</div></div><!-- fragment -->
510 </div>
511 </div>
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>
514 </ul>
515 </div><!-- contents -->
516 </div><!-- doc-content -->
517 <!-- start footer part -->
518 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
519   <ul>
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>
524   </ul>
525 </div>
526 </body>
527 </html>