<!-- HTML header for doxygen 1.8.15-->
<!-- Remember to use version doxygen 1.8.15 +-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="robots" content="NOINDEX, NOFOLLOW" /> <!-- Prevent indexing by search engines -->
<title>Compute Library: src/runtime/NEON/functions/NEMinMaxLocation.cpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
</script><script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="stylesheet.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <img alt="Compute Library" src="https://raw.githubusercontent.com/ARM-software/ComputeLibrary/gh-pages/ACL_logo.png" style="max-width: 100%;margin-top: 15px;margin-left: 10px"/>
  <td style="padding-left: 0.5em;">
   <div id="projectname">
   &#160;<span id="projectnumber">19.08</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('_n_e_min_max_location_8cpp_source.xhtml','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">NEMinMaxLocation.cpp</div>  </div>
</div><!--header-->
<div class="contents">
<a href="_n_e_min_max_location_8cpp.xhtml">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * Copyright (c) 2016, 2017 ARM Limited.</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> * SPDX-License-Identifier: MIT</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * Permission is hereby granted, free of charge, to any person obtaining a copy</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> * of this software and associated documentation files (the &quot;Software&quot;), to</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> * deal in the Software without restriction, including without limitation the</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * sell copies of the Software, and to permit persons to whom the Software is</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * furnished to do so, subject to the following conditions:</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * The above copyright notice and this permission notice shall be included in all</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * copies or substantial portions of the Software.</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> * THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment"> * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment"> * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment"> * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment"> * SOFTWARE.</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_n_e_min_max_location_8h.xhtml">arm_compute/runtime/NEON/functions/NEMinMaxLocation.h</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_n_e_scheduler_8h.xhtml">arm_compute/runtime/NEON/NEScheduler.h</a>&quot;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespacearm__compute.xhtml">arm_compute</a>;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno"><a class="line" href="classarm__compute_1_1_n_e_min_max_location.xhtml#ae1e54926ff0f8534bbd3a97d9c0fdaa2">   30</a></span>&#160;<a class="code" href="classarm__compute_1_1_n_e_min_max_location.xhtml#ae1e54926ff0f8534bbd3a97d9c0fdaa2">NEMinMaxLocation::NEMinMaxLocation</a>()</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;    : _min_max(), _min_max_loc()</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;{</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;}</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="classarm__compute_1_1_n_e_min_max_location.xhtml#ab996eedb0d719f5faa091726e69e73c3">   35</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classarm__compute_1_1_n_e_min_max_location.xhtml#ab996eedb0d719f5faa091726e69e73c3">NEMinMaxLocation::configure</a>(<span class="keyword">const</span> <a class="code" href="classarm__compute_1_1_i_tensor.xhtml">IImage</a> *input, <span class="keywordtype">void</span> *min, <span class="keywordtype">void</span> *max, <a class="code" href="classarm__compute_1_1_i_array.xhtml">ICoordinates2DArray</a> *min_loc, <a class="code" href="classarm__compute_1_1_i_array.xhtml">ICoordinates2DArray</a> *max_loc, uint32_t *min_count, uint32_t *max_count)</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;{</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;    _min_max.<a class="code" href="classarm__compute_1_1_n_e_min_max_kernel.xhtml#aa977f349fb2c7d5ae7cd41fee339668a">configure</a>(input, min, max);</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;    _min_max_loc.<a class="code" href="classarm__compute_1_1_n_e_min_max_location_kernel.xhtml#ab996eedb0d719f5faa091726e69e73c3">configure</a>(input, min, max, min_loc, max_loc, min_count, max_count);</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;}</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="classarm__compute_1_1_n_e_min_max_location.xhtml#ad1717410afd0be936c6213a63c8005fb">   41</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classarm__compute_1_1_n_e_min_max_location.xhtml#ad1717410afd0be936c6213a63c8005fb">NEMinMaxLocation::run</a>()</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;{</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;    _min_max.<a class="code" href="classarm__compute_1_1_n_e_min_max_kernel.xhtml#ad20897c5c8bd47f5d4005989bead0e55">reset</a>();</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;    <span class="comment">/* Run min max kernel */</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;    <a class="code" href="classarm__compute_1_1_scheduler.xhtml#a0d63ca713bab377aabcfb63c192b8429">NEScheduler::get</a>().<a class="code" href="classarm__compute_1_1_i_scheduler.xhtml#a4e58f95544bd5ac6559a421671bd9842">schedule</a>(&amp;_min_max, <a class="code" href="classarm__compute_1_1_window.xhtml#ad2d402364fa822b0b7775081291eeca9">Window::DimY</a>);</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    <span class="comment">/* Run min max location */</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;    <a class="code" href="classarm__compute_1_1_scheduler.xhtml#a0d63ca713bab377aabcfb63c192b8429">NEScheduler::get</a>().<a class="code" href="classarm__compute_1_1_i_scheduler.xhtml#a4e58f95544bd5ac6559a421671bd9842">schedule</a>(&amp;_min_max_loc, <a class="code" href="classarm__compute_1_1_window.xhtml#ad2d402364fa822b0b7775081291eeca9">Window::DimY</a>);</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;}</div><div class="ttc" id="classarm__compute_1_1_n_e_min_max_location_xhtml_ae1e54926ff0f8534bbd3a97d9c0fdaa2"><div class="ttname"><a href="classarm__compute_1_1_n_e_min_max_location.xhtml#ae1e54926ff0f8534bbd3a97d9c0fdaa2">arm_compute::NEMinMaxLocation::NEMinMaxLocation</a></div><div class="ttdeci">NEMinMaxLocation()</div><div class="ttdoc">Constructor.</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_min_max_location_8cpp_source.xhtml#l00030">NEMinMaxLocation.cpp:30</a></div></div>
<div class="ttc" id="classarm__compute_1_1_i_array_xhtml"><div class="ttname"><a href="classarm__compute_1_1_i_array.xhtml">arm_compute::IArray</a></div><div class="ttdoc">Array of type T.</div><div class="ttdef"><b>Definition:</b> <a href="_i_array_8h_source.xhtml#l00040">IArray.h:40</a></div></div>
<div class="ttc" id="classarm__compute_1_1_n_e_min_max_location_kernel_xhtml_ab996eedb0d719f5faa091726e69e73c3"><div class="ttname"><a href="classarm__compute_1_1_n_e_min_max_location_kernel.xhtml#ab996eedb0d719f5faa091726e69e73c3">arm_compute::NEMinMaxLocationKernel::configure</a></div><div class="ttdeci">void configure(const IImage *input, void *min, void *max, ICoordinates2DArray *min_loc=nullptr, ICoordinates2DArray *max_loc=nullptr, uint32_t *min_count=nullptr, uint32_t *max_count=nullptr)</div><div class="ttdoc">Initialise the kernel's input and outputs.</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_min_max_location_kernel_8cpp_source.xhtml#l00335">NEMinMaxLocationKernel.cpp:335</a></div></div>
<div class="ttc" id="classarm__compute_1_1_n_e_min_max_location_xhtml_ad1717410afd0be936c6213a63c8005fb"><div class="ttname"><a href="classarm__compute_1_1_n_e_min_max_location.xhtml#ad1717410afd0be936c6213a63c8005fb">arm_compute::NEMinMaxLocation::run</a></div><div class="ttdeci">void run() override</div><div class="ttdoc">Run the kernels contained in the function.</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_min_max_location_8cpp_source.xhtml#l00041">NEMinMaxLocation.cpp:41</a></div></div>
<div class="ttc" id="classarm__compute_1_1_i_tensor_xhtml"><div class="ttname"><a href="classarm__compute_1_1_i_tensor.xhtml">arm_compute::ITensor</a></div><div class="ttdoc">Interface for NEON tensor.</div><div class="ttdef"><b>Definition:</b> <a href="_i_tensor_8h_source.xhtml#l00036">ITensor.h:36</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml"><div class="ttname"><a href="namespacearm__compute.xhtml">arm_compute</a></div><div class="ttdoc">Copyright (c) 2017-2018 ARM Limited.</div><div class="ttdef"><b>Definition:</b> <a href="00__introduction_8dox_source.xhtml#l00024">00_introduction.dox:24</a></div></div>
<div class="ttc" id="classarm__compute_1_1_n_e_min_max_kernel_xhtml_aa977f349fb2c7d5ae7cd41fee339668a"><div class="ttname"><a href="classarm__compute_1_1_n_e_min_max_kernel.xhtml#aa977f349fb2c7d5ae7cd41fee339668a">arm_compute::NEMinMaxKernel::configure</a></div><div class="ttdeci">void configure(const IImage *input, void *min, void *max)</div><div class="ttdoc">Initialise the kernel's input and outputs.</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_min_max_location_kernel_8cpp_source.xhtml#l00049">NEMinMaxLocationKernel.cpp:49</a></div></div>
<div class="ttc" id="classarm__compute_1_1_n_e_min_max_kernel_xhtml_ad20897c5c8bd47f5d4005989bead0e55"><div class="ttname"><a href="classarm__compute_1_1_n_e_min_max_kernel.xhtml#ad20897c5c8bd47f5d4005989bead0e55">arm_compute::NEMinMaxKernel::reset</a></div><div class="ttdeci">void reset()</div><div class="ttdoc">Resets global minimum and maximum.</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_min_max_location_kernel_8cpp_source.xhtml#l00094">NEMinMaxLocationKernel.cpp:94</a></div></div>
<div class="ttc" id="_n_e_min_max_location_8h_xhtml"><div class="ttname"><a href="_n_e_min_max_location_8h.xhtml">NEMinMaxLocation.h</a></div></div>
<div class="ttc" id="_n_e_scheduler_8h_xhtml"><div class="ttname"><a href="_n_e_scheduler_8h.xhtml">NEScheduler.h</a></div></div>
<div class="ttc" id="classarm__compute_1_1_window_xhtml_ad2d402364fa822b0b7775081291eeca9"><div class="ttname"><a href="classarm__compute_1_1_window.xhtml#ad2d402364fa822b0b7775081291eeca9">arm_compute::Window::DimY</a></div><div class="ttdeci">static constexpr size_t DimY</div><div class="ttdoc">Alias for dimension 1 also known as Y dimension.</div><div class="ttdef"><b>Definition:</b> <a href="_window_8h_source.xhtml#l00045">Window.h:45</a></div></div>
<div class="ttc" id="classarm__compute_1_1_i_scheduler_xhtml_a4e58f95544bd5ac6559a421671bd9842"><div class="ttname"><a href="classarm__compute_1_1_i_scheduler.xhtml#a4e58f95544bd5ac6559a421671bd9842">arm_compute::IScheduler::schedule</a></div><div class="ttdeci">virtual void schedule(ICPPKernel *kernel, const Hints &amp;hints)=0</div><div class="ttdoc">Runs the kernel in the same thread as the caller synchronously.</div></div>
<div class="ttc" id="classarm__compute_1_1_n_e_min_max_location_xhtml_ab996eedb0d719f5faa091726e69e73c3"><div class="ttname"><a href="classarm__compute_1_1_n_e_min_max_location.xhtml#ab996eedb0d719f5faa091726e69e73c3">arm_compute::NEMinMaxLocation::configure</a></div><div class="ttdeci">void configure(const IImage *input, void *min, void *max, ICoordinates2DArray *min_loc=nullptr, ICoordinates2DArray *max_loc=nullptr, uint32_t *min_count=nullptr, uint32_t *max_count=nullptr)</div><div class="ttdoc">Initialise the kernel's inputs and outputs.</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_min_max_location_8cpp_source.xhtml#l00035">NEMinMaxLocation.cpp:35</a></div></div>
<div class="ttc" id="classarm__compute_1_1_scheduler_xhtml_a0d63ca713bab377aabcfb63c192b8429"><div class="ttname"><a href="classarm__compute_1_1_scheduler.xhtml#a0d63ca713bab377aabcfb63c192b8429">arm_compute::Scheduler::get</a></div><div class="ttdeci">static IScheduler &amp; get()</div><div class="ttdoc">Access the scheduler singleton.</div><div class="ttdef"><b>Definition:</b> <a href="_scheduler_8cpp_source.xhtml#l00096">Scheduler.cpp:96</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.xhtml">src</a></li><li class="navelem"><a class="el" href="dir_bf9f26469d00835ba20ff8d80ee5a804.xhtml">runtime</a></li><li class="navelem"><a class="el" href="dir_a36523fc4c32a6b0076906589b6fc202.xhtml">NEON</a></li><li class="navelem"><a class="el" href="dir_4d03f28cfd35f8f734a3b0a2f1168d27.xhtml">functions</a></li><li class="navelem"><a class="el" href="_n_e_min_max_location_8cpp.xhtml">NEMinMaxLocation.cpp</a></li>
    <li class="footer">Generated on Mon Sep 2 2019 11:47:26 for Compute Library by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.15 </li>
  </ul>
</div>
</body>
</html>
