blob: 4c1d0e1e1c533c417c021c95866dc814adfa3976 [file] [log] [blame]
<!-- 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: ICLDistribution1D Class Reference</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('classarm__compute_1_1_i_c_l_distribution1_d.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="summary">
<a href="#pub-methods">Public Member Functions</a> </div>
<div class="headertitle">
<div class="title">ICLDistribution1D Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
</div><!--header-->
<div class="contents">
<p><a class="el" href="classarm__compute_1_1_i_c_l_distribution1_d.xhtml" title="ICLDistribution1D interface class.">ICLDistribution1D</a> interface class.
<a href="classarm__compute_1_1_i_c_l_distribution1_d.xhtml#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="_i_c_l_distribution1_d_8h_source.xhtml">ICLDistribution1D.h</a>&gt;</code></p>
<div class="dynheader">
Collaboration diagram for ICLDistribution1D:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="classarm__compute_1_1_i_c_l_distribution1_d__coll__graph.svg" width="143" height="187"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.xhtml">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a0289f4eb4c6ca9ddcdc7d0926592a98f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_distribution1_d.xhtml#a0289f4eb4c6ca9ddcdc7d0926592a98f">ICLDistribution1D</a> (size_t <a class="el" href="classarm__compute_1_1_i_distribution1_d.xhtml#ad96530ddba514601d376f991b568b346">num_bins</a>, int32_t <a class="el" href="classarm__compute_1_1_i_distribution1_d.xhtml#ae0b0cc1f1b29c65e4e3ea56171816981">offset</a>, uint32_t <a class="el" href="classarm__compute_1_1_i_distribution1_d.xhtml#a39bcb5b07a60b37fb1d6b5c9f83f85e9">range</a>)</td></tr>
<tr class="memdesc:a0289f4eb4c6ca9ddcdc7d0926592a98f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor: Creates a 1D CLDistribution of a consecutive interval [offset, offset + range - 1] defined by a start offset and valid range, divided equally into num_bins parts. <a href="#a0289f4eb4c6ca9ddcdc7d0926592a98f">More...</a><br /></td></tr>
<tr class="separator:a0289f4eb4c6ca9ddcdc7d0926592a98f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a298d976d9b3cf2a86f114292c1a58839"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_distribution1_d.xhtml#a298d976d9b3cf2a86f114292c1a58839">ICLDistribution1D</a> (const <a class="el" href="classarm__compute_1_1_i_c_l_distribution1_d.xhtml">ICLDistribution1D</a> &amp;)=delete</td></tr>
<tr class="memdesc:a298d976d9b3cf2a86f114292c1a58839"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prevent instances of this class from being copied (As this class contains pointers) <a href="#a298d976d9b3cf2a86f114292c1a58839">More...</a><br /></td></tr>
<tr class="separator:a298d976d9b3cf2a86f114292c1a58839"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0182f7f14809fcf8e7d1b9c8afebeafd"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classarm__compute_1_1_i_c_l_distribution1_d.xhtml">ICLDistribution1D</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_distribution1_d.xhtml#a0182f7f14809fcf8e7d1b9c8afebeafd">operator=</a> (const <a class="el" href="classarm__compute_1_1_i_c_l_distribution1_d.xhtml">ICLDistribution1D</a> &amp;)=delete</td></tr>
<tr class="memdesc:a0182f7f14809fcf8e7d1b9c8afebeafd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prevent instances of this class from being copied (As this class contains pointers) <a href="#a0182f7f14809fcf8e7d1b9c8afebeafd">More...</a><br /></td></tr>
<tr class="separator:a0182f7f14809fcf8e7d1b9c8afebeafd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac0abc7a5c0d172947f0e6a0c0dde3df0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_distribution1_d.xhtml#ac0abc7a5c0d172947f0e6a0c0dde3df0">map</a> (cl::CommandQueue &amp;q, bool blocking=true)</td></tr>
<tr class="memdesc:ac0abc7a5c0d172947f0e6a0c0dde3df0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enqueue a map operation of the allocated buffer on the given queue. <a href="#ac0abc7a5c0d172947f0e6a0c0dde3df0">More...</a><br /></td></tr>
<tr class="separator:ac0abc7a5c0d172947f0e6a0c0dde3df0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af974a2360069c2ef8df4496d00e4f6cc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_distribution1_d.xhtml#af974a2360069c2ef8df4496d00e4f6cc">unmap</a> (cl::CommandQueue &amp;q)</td></tr>
<tr class="memdesc:af974a2360069c2ef8df4496d00e4f6cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enqueue an unmap operation of the allocated and mapped buffer on the given queue. <a href="#af974a2360069c2ef8df4496d00e4f6cc">More...</a><br /></td></tr>
<tr class="separator:af974a2360069c2ef8df4496d00e4f6cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea577b83a6734249a78ac036a23d5c6b"><td class="memItemLeft" align="right" valign="top">virtual cl::Buffer &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_distribution1_d.xhtml#aea577b83a6734249a78ac036a23d5c6b">cl_buffer</a> ()=0</td></tr>
<tr class="memdesc:aea577b83a6734249a78ac036a23d5c6b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface to be implemented by the child class to return a reference to the OpenCL buffer containing the distribution's data. <a href="#aea577b83a6734249a78ac036a23d5c6b">More...</a><br /></td></tr>
<tr class="separator:aea577b83a6734249a78ac036a23d5c6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac9740300f00d726c2720535d12c334f2"><td class="memItemLeft" align="right" valign="top">uint32_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_distribution1_d.xhtml#ac9740300f00d726c2720535d12c334f2">buffer</a> () const override</td></tr>
<tr class="memdesc:ac9740300f00d726c2720535d12c334f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a pointer to the start of the distribution. <a href="#ac9740300f00d726c2720535d12c334f2">More...</a><br /></td></tr>
<tr class="separator:ac9740300f00d726c2720535d12c334f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classarm__compute_1_1_i_distribution1_d"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classarm__compute_1_1_i_distribution1_d')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classarm__compute_1_1_i_distribution1_d.xhtml">IDistribution1D</a></td></tr>
<tr class="memitem:a9c3a40b0dbbd79ed909471d9e05283aa inherit pub_methods_classarm__compute_1_1_i_distribution1_d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_distribution1_d.xhtml#a9c3a40b0dbbd79ed909471d9e05283aa">IDistribution1D</a> (size_t <a class="el" href="classarm__compute_1_1_i_distribution1_d.xhtml#ad96530ddba514601d376f991b568b346">num_bins</a>, int32_t <a class="el" href="classarm__compute_1_1_i_distribution1_d.xhtml#ae0b0cc1f1b29c65e4e3ea56171816981">offset</a>, uint32_t <a class="el" href="classarm__compute_1_1_i_distribution1_d.xhtml#a39bcb5b07a60b37fb1d6b5c9f83f85e9">range</a>)</td></tr>
<tr class="memdesc:a9c3a40b0dbbd79ed909471d9e05283aa inherit pub_methods_classarm__compute_1_1_i_distribution1_d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor: Creates a 1D Distribution of a consecutive interval [offset, offset + range - 1] defined by a start offset and valid range, divided equally into num_bins parts. <a href="classarm__compute_1_1_i_distribution1_d.xhtml#a9c3a40b0dbbd79ed909471d9e05283aa">More...</a><br /></td></tr>
<tr class="separator:a9c3a40b0dbbd79ed909471d9e05283aa inherit pub_methods_classarm__compute_1_1_i_distribution1_d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad96530ddba514601d376f991b568b346 inherit pub_methods_classarm__compute_1_1_i_distribution1_d"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_distribution1_d.xhtml#ad96530ddba514601d376f991b568b346">num_bins</a> () const</td></tr>
<tr class="memdesc:ad96530ddba514601d376f991b568b346 inherit pub_methods_classarm__compute_1_1_i_distribution1_d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of bins that the distribution has. <a href="classarm__compute_1_1_i_distribution1_d.xhtml#ad96530ddba514601d376f991b568b346">More...</a><br /></td></tr>
<tr class="separator:ad96530ddba514601d376f991b568b346 inherit pub_methods_classarm__compute_1_1_i_distribution1_d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae0b0cc1f1b29c65e4e3ea56171816981 inherit pub_methods_classarm__compute_1_1_i_distribution1_d"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_distribution1_d.xhtml#ae0b0cc1f1b29c65e4e3ea56171816981">offset</a> () const</td></tr>
<tr class="memdesc:ae0b0cc1f1b29c65e4e3ea56171816981 inherit pub_methods_classarm__compute_1_1_i_distribution1_d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the offset of the distribution. <a href="classarm__compute_1_1_i_distribution1_d.xhtml#ae0b0cc1f1b29c65e4e3ea56171816981">More...</a><br /></td></tr>
<tr class="separator:ae0b0cc1f1b29c65e4e3ea56171816981 inherit pub_methods_classarm__compute_1_1_i_distribution1_d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a39bcb5b07a60b37fb1d6b5c9f83f85e9 inherit pub_methods_classarm__compute_1_1_i_distribution1_d"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_distribution1_d.xhtml#a39bcb5b07a60b37fb1d6b5c9f83f85e9">range</a> () const</td></tr>
<tr class="memdesc:a39bcb5b07a60b37fb1d6b5c9f83f85e9 inherit pub_methods_classarm__compute_1_1_i_distribution1_d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the range of the distribution. <a href="classarm__compute_1_1_i_distribution1_d.xhtml#a39bcb5b07a60b37fb1d6b5c9f83f85e9">More...</a><br /></td></tr>
<tr class="separator:a39bcb5b07a60b37fb1d6b5c9f83f85e9 inherit pub_methods_classarm__compute_1_1_i_distribution1_d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a37a51d76966b92a45375e074e0ea0204 inherit pub_methods_classarm__compute_1_1_i_distribution1_d"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_distribution1_d.xhtml#a37a51d76966b92a45375e074e0ea0204">window</a> () const</td></tr>
<tr class="memdesc:a37a51d76966b92a45375e074e0ea0204 inherit pub_methods_classarm__compute_1_1_i_distribution1_d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the window of the distribution, which is the range divided by the number of bins. <a href="classarm__compute_1_1_i_distribution1_d.xhtml#a37a51d76966b92a45375e074e0ea0204">More...</a><br /></td></tr>
<tr class="separator:a37a51d76966b92a45375e074e0ea0204 inherit pub_methods_classarm__compute_1_1_i_distribution1_d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9027aed7fdb902ebc243647c8c3fbea2 inherit pub_methods_classarm__compute_1_1_i_distribution1_d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_distribution1_d.xhtml#a9027aed7fdb902ebc243647c8c3fbea2">set_range</a> (uint32_t <a class="el" href="classarm__compute_1_1_i_distribution1_d.xhtml#a39bcb5b07a60b37fb1d6b5c9f83f85e9">range</a>)</td></tr>
<tr class="memdesc:a9027aed7fdb902ebc243647c8c3fbea2 inherit pub_methods_classarm__compute_1_1_i_distribution1_d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the range of the distribution. <a href="classarm__compute_1_1_i_distribution1_d.xhtml#a9027aed7fdb902ebc243647c8c3fbea2">More...</a><br /></td></tr>
<tr class="separator:a9027aed7fdb902ebc243647c8c3fbea2 inherit pub_methods_classarm__compute_1_1_i_distribution1_d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7701a09a964eab360a8e51fa7ad2c16 inherit pub_methods_classarm__compute_1_1_i_distribution1_d"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_distribution1_d.xhtml#ad7701a09a964eab360a8e51fa7ad2c16">size</a> () const override</td></tr>
<tr class="memdesc:ad7701a09a964eab360a8e51fa7ad2c16 inherit pub_methods_classarm__compute_1_1_i_distribution1_d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the total size in bytes of the distribution. <a href="classarm__compute_1_1_i_distribution1_d.xhtml#ad7701a09a964eab360a8e51fa7ad2c16">More...</a><br /></td></tr>
<tr class="separator:ad7701a09a964eab360a8e51fa7ad2c16 inherit pub_methods_classarm__compute_1_1_i_distribution1_d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad251169c06da412071bdfb6e92444e6e inherit pub_methods_classarm__compute_1_1_i_distribution1_d"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_distribution1_d.xhtml#ad251169c06da412071bdfb6e92444e6e">dimensions</a> () const override</td></tr>
<tr class="memdesc:ad251169c06da412071bdfb6e92444e6e inherit pub_methods_classarm__compute_1_1_i_distribution1_d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the dimensions of the distribution. <a href="classarm__compute_1_1_i_distribution1_d.xhtml#ad251169c06da412071bdfb6e92444e6e">More...</a><br /></td></tr>
<tr class="separator:ad251169c06da412071bdfb6e92444e6e inherit pub_methods_classarm__compute_1_1_i_distribution1_d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classarm__compute_1_1_i_distribution"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classarm__compute_1_1_i_distribution')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classarm__compute_1_1_i_distribution.xhtml">IDistribution</a></td></tr>
<tr class="memitem:a9ee18d758810dbcfb1c9717956f51c38 inherit pub_methods_classarm__compute_1_1_i_distribution"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_distribution.xhtml#a9ee18d758810dbcfb1c9717956f51c38">~IDistribution</a> ()=default</td></tr>
<tr class="memdesc:a9ee18d758810dbcfb1c9717956f51c38 inherit pub_methods_classarm__compute_1_1_i_distribution"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default virtual destructor. <a href="classarm__compute_1_1_i_distribution.xhtml#a9ee18d758810dbcfb1c9717956f51c38">More...</a><br /></td></tr>
<tr class="separator:a9ee18d758810dbcfb1c9717956f51c38 inherit pub_methods_classarm__compute_1_1_i_distribution"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf1d9633e64d0de6a36e0af17ccd8163 inherit pub_methods_classarm__compute_1_1_i_distribution"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_distribution.xhtml#adf1d9633e64d0de6a36e0af17ccd8163">clear</a> () const</td></tr>
<tr class="memdesc:adf1d9633e64d0de6a36e0af17ccd8163 inherit pub_methods_classarm__compute_1_1_i_distribution"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears the distribution by setting every element to zero. <a href="classarm__compute_1_1_i_distribution.xhtml#adf1d9633e64d0de6a36e0af17ccd8163">More...</a><br /></td></tr>
<tr class="separator:adf1d9633e64d0de6a36e0af17ccd8163 inherit pub_methods_classarm__compute_1_1_i_distribution"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p><a class="el" href="classarm__compute_1_1_i_c_l_distribution1_d.xhtml" title="ICLDistribution1D interface class.">ICLDistribution1D</a> interface class. </p>
<p class="definition">Definition at line <a class="el" href="_i_c_l_distribution1_d_8h_source.xhtml#l00041">41</a> of file <a class="el" href="_i_c_l_distribution1_d_8h_source.xhtml">ICLDistribution1D.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a0289f4eb4c6ca9ddcdc7d0926592a98f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0289f4eb4c6ca9ddcdc7d0926592a98f">&#9670;&nbsp;</a></span>ICLDistribution1D() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classarm__compute_1_1_i_c_l_distribution1_d.xhtml">ICLDistribution1D</a> </td>
<td>(</td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>num_bins</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t&#160;</td>
<td class="paramname"><em>offset</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>range</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructor: Creates a 1D CLDistribution of a consecutive interval [offset, offset + range - 1] defined by a start offset and valid range, divided equally into num_bins parts. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">num_bins</td><td>The number of bins the distribution is divided in. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">offset</td><td>The start of the values to use. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">range</td><td>The total number of the consecutive values of the distribution interval. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_i_c_l_distribution1_d_8cpp_source.xhtml#l00030">30</a> of file <a class="el" href="_i_c_l_distribution1_d_8cpp_source.xhtml">ICLDistribution1D.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; : <a class="code" href="classarm__compute_1_1_i_distribution1_d.xhtml#a9c3a40b0dbbd79ed909471d9e05283aa">IDistribution1D</a>(<a class="code" href="classarm__compute_1_1_i_distribution1_d.xhtml#ad96530ddba514601d376f991b568b346">num_bins</a>, <a class="code" href="classarm__compute_1_1_i_distribution1_d.xhtml#ae0b0cc1f1b29c65e4e3ea56171816981">offset</a>, <a class="code" href="classarm__compute_1_1_i_distribution1_d.xhtml#a39bcb5b07a60b37fb1d6b5c9f83f85e9">range</a>), _mapping(<span class="keyword">nullptr</span>)</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="ttc" id="classarm__compute_1_1_i_distribution1_d_xhtml_a39bcb5b07a60b37fb1d6b5c9f83f85e9"><div class="ttname"><a href="classarm__compute_1_1_i_distribution1_d.xhtml#a39bcb5b07a60b37fb1d6b5c9f83f85e9">arm_compute::IDistribution1D::range</a></div><div class="ttdeci">uint32_t range() const</div><div class="ttdoc">Returns the range of the distribution.</div><div class="ttdef"><b>Definition:</b> <a href="_i_distribution1_d_8cpp_source.xhtml#l00046">IDistribution1D.cpp:46</a></div></div>
<div class="ttc" id="classarm__compute_1_1_i_distribution1_d_xhtml_a9c3a40b0dbbd79ed909471d9e05283aa"><div class="ttname"><a href="classarm__compute_1_1_i_distribution1_d.xhtml#a9c3a40b0dbbd79ed909471d9e05283aa">arm_compute::IDistribution1D::IDistribution1D</a></div><div class="ttdeci">IDistribution1D(size_t num_bins, int32_t offset, uint32_t range)</div><div class="ttdoc">Constructor: Creates a 1D Distribution of a consecutive interval [offset, offset + range - 1] defined...</div><div class="ttdef"><b>Definition:</b> <a href="_i_distribution1_d_8cpp_source.xhtml#l00030">IDistribution1D.cpp:30</a></div></div>
<div class="ttc" id="classarm__compute_1_1_i_distribution1_d_xhtml_ad96530ddba514601d376f991b568b346"><div class="ttname"><a href="classarm__compute_1_1_i_distribution1_d.xhtml#ad96530ddba514601d376f991b568b346">arm_compute::IDistribution1D::num_bins</a></div><div class="ttdeci">size_t num_bins() const</div><div class="ttdoc">Returns the number of bins that the distribution has.</div><div class="ttdef"><b>Definition:</b> <a href="_i_distribution1_d_8cpp_source.xhtml#l00036">IDistribution1D.cpp:36</a></div></div>
<div class="ttc" id="classarm__compute_1_1_i_distribution1_d_xhtml_ae0b0cc1f1b29c65e4e3ea56171816981"><div class="ttname"><a href="classarm__compute_1_1_i_distribution1_d.xhtml#ae0b0cc1f1b29c65e4e3ea56171816981">arm_compute::IDistribution1D::offset</a></div><div class="ttdeci">int32_t offset() const</div><div class="ttdoc">Returns the offset of the distribution.</div><div class="ttdef"><b>Definition:</b> <a href="_i_distribution1_d_8cpp_source.xhtml#l00041">IDistribution1D.cpp:41</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a298d976d9b3cf2a86f114292c1a58839"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a298d976d9b3cf2a86f114292c1a58839">&#9670;&nbsp;</a></span>ICLDistribution1D() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classarm__compute_1_1_i_c_l_distribution1_d.xhtml">ICLDistribution1D</a> </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_c_l_distribution1_d.xhtml">ICLDistribution1D</a> &amp;&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">delete</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Prevent instances of this class from being copied (As this class contains pointers) </p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="ac9740300f00d726c2720535d12c334f2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac9740300f00d726c2720535d12c334f2">&#9670;&nbsp;</a></span>buffer()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint32_t * buffer </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns a pointer to the start of the distribution. </p>
<p>Other elements of the array can be accessed using <a class="el" href="classarm__compute_1_1_i_c_l_distribution1_d.xhtml#ac9740300f00d726c2720535d12c334f2" title="Returns a pointer to the start of the distribution.">buffer()</a>[idx] for 0 &lt;= idx &lt; <a class="el" href="classarm__compute_1_1_i_distribution1_d.xhtml#ad96530ddba514601d376f991b568b346" title="Returns the number of bins that the distribution has.">num_bins()</a></p>
<dl class="section return"><dt>Returns</dt><dd>Pointer to the start of the distribution. </dd></dl>
<p>Implements <a class="el" href="classarm__compute_1_1_i_distribution.xhtml#a0eb5856c63562cb144938ed77d6823a0">IDistribution</a>.</p>
<p class="definition">Definition at line <a class="el" href="_i_c_l_distribution1_d_8cpp_source.xhtml#l00048">48</a> of file <a class="el" href="_i_c_l_distribution1_d_8cpp_source.xhtml">ICLDistribution1D.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;{</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="keywordflow">return</span> _mapping;</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;}</div></div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="_c_l_histogram_kernel_8cpp_source.xhtml#l00122">CLHistogramKernel::run()</a>.</p>
</div>
</div>
<a id="aea577b83a6734249a78ac036a23d5c6b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aea577b83a6734249a78ac036a23d5c6b">&#9670;&nbsp;</a></span>cl_buffer()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual cl::Buffer&amp; cl_buffer </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Interface to be implemented by the child class to return a reference to the OpenCL buffer containing the distribution's data. </p>
<dl class="section return"><dt>Returns</dt><dd>A reference to an OpenCL buffer containing the distribution's data. </dd></dl>
<p>Implemented in <a class="el" href="classarm__compute_1_1_c_l_distribution1_d.xhtml#a454323653553eb092330e739ce3882eb">CLDistribution1D</a>.</p>
<p class="reference">Referenced by <a class="el" href="_c_l_histogram_kernel_8cpp_source.xhtml#l00053">CLHistogramKernel::configure()</a>, and <a class="el" href="_c_l_histogram_kernel_8cpp_source.xhtml#l00158">CLHistogramBorderKernel::configure()</a>.</p>
</div>
</div>
<a id="ac0abc7a5c0d172947f0e6a0c0dde3df0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac0abc7a5c0d172947f0e6a0c0dde3df0">&#9670;&nbsp;</a></span>map()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void map </td>
<td>(</td>
<td class="paramtype">cl::CommandQueue &amp;&#160;</td>
<td class="paramname"><em>q</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>blocking</em> = <code>true</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Enqueue a map operation of the allocated buffer on the given queue. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in,out]</td><td class="paramname">q</td><td>The CL command queue to use for the mapping operation. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">blocking</td><td>If true, then the mapping will be ready to use by the time this method returns, else it is the caller's responsibility to flush the queue and wait for the mapping operation to have completed before using the returned mapping pointer. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_i_c_l_distribution1_d_8cpp_source.xhtml#l00035">35</a> of file <a class="el" href="_i_c_l_distribution1_d_8cpp_source.xhtml">ICLDistribution1D.cpp</a>.</p>
<div class="fragment"><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; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(_mapping != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; _mapping = do_map(q, blocking);</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown.</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00337">Error.h:337</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>.</p>
<p class="reference">Referenced by <a class="el" href="_c_l_distribution1_d_8cpp_source.xhtml#l00036">CLDistribution1D::map()</a>, and <a class="el" href="_c_l_histogram_kernel_8cpp_source.xhtml#l00122">CLHistogramKernel::run()</a>.</p>
</div>
</div>
<a id="a0182f7f14809fcf8e7d1b9c8afebeafd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0182f7f14809fcf8e7d1b9c8afebeafd">&#9670;&nbsp;</a></span>operator=()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="classarm__compute_1_1_i_c_l_distribution1_d.xhtml">ICLDistribution1D</a>&amp; operator= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_c_l_distribution1_d.xhtml">ICLDistribution1D</a> &amp;&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">delete</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Prevent instances of this class from being copied (As this class contains pointers) </p>
</div>
</div>
<a id="af974a2360069c2ef8df4496d00e4f6cc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af974a2360069c2ef8df4496d00e4f6cc">&#9670;&nbsp;</a></span>unmap()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void unmap </td>
<td>(</td>
<td class="paramtype">cl::CommandQueue &amp;&#160;</td>
<td class="paramname"><em>q</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Enqueue an unmap operation of the allocated and mapped buffer on the given queue. </p>
<dl class="section note"><dt>Note</dt><dd>This method simply enqueues the unmap operation, it is the caller's responsibility to flush the queue and make sure the unmap is finished before the memory is accessed by the device.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in,out]</td><td class="paramname">q</td><td>The CL command queue to use for the mapping operation. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_i_c_l_distribution1_d_8cpp_source.xhtml#l00041">41</a> of file <a class="el" href="_i_c_l_distribution1_d_8cpp_source.xhtml">ICLDistribution1D.cpp</a>.</p>
<div class="fragment"><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; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(_mapping == <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; do_unmap(q);</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; _mapping = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown.</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00337">Error.h:337</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>.</p>
<p class="reference">Referenced by <a class="el" href="_c_l_histogram_kernel_8cpp_source.xhtml#l00122">CLHistogramKernel::run()</a>, and <a class="el" href="_c_l_distribution1_d_8cpp_source.xhtml#l00041">CLDistribution1D::unmap()</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>arm_compute/core/CL/<a class="el" href="_i_c_l_distribution1_d_8h_source.xhtml">ICLDistribution1D.h</a></li>
<li>src/core/CL/<a class="el" href="_i_c_l_distribution1_d_8cpp_source.xhtml">ICLDistribution1D.cpp</a></li>
</ul>
</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="namespacearm__compute.xhtml">arm_compute</a></li><li class="navelem"><a class="el" href="classarm__compute_1_1_i_c_l_distribution1_d.xhtml">ICLDistribution1D</a></li>
<li class="footer">Generated on Mon Sep 2 2019 11:47:35 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>