blob: a66334ac88820bdc3608df0af76bfe670e06fc6e [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: CLLut 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_c_l_lut.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">CLLut Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Basic implementation of the OpenCL lut interface.
<a href="classarm__compute_1_1_c_l_lut.xhtml#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="_c_l_lut_8h_source.xhtml">CLLut.h</a>&gt;</code></p>
<div class="dynheader">
Collaboration diagram for CLLut:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="classarm__compute_1_1_c_l_lut__coll__graph.svg" width="72" 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:a0d6c553d858ee767dfd8c13114353556"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_lut.xhtml#a0d6c553d858ee767dfd8c13114353556">CLLut</a> ()</td></tr>
<tr class="memdesc:a0d6c553d858ee767dfd8c13114353556"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <a href="#a0d6c553d858ee767dfd8c13114353556">More...</a><br /></td></tr>
<tr class="separator:a0d6c553d858ee767dfd8c13114353556"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad2b54d8d7daf7f067cda8ea9e8a795f3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_lut.xhtml#ad2b54d8d7daf7f067cda8ea9e8a795f3">CLLut</a> (size_t <a class="el" href="classarm__compute_1_1_c_l_lut.xhtml#a6dac829b4ddf4a5729ac090e73696958">num_elements</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> data_type)</td></tr>
<tr class="memdesc:ad2b54d8d7daf7f067cda8ea9e8a795f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor: initializes a LUT which can contain num_values values of data_type type. <a href="#ad2b54d8d7daf7f067cda8ea9e8a795f3">More...</a><br /></td></tr>
<tr class="separator:ad2b54d8d7daf7f067cda8ea9e8a795f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c28e4f8f5133ed91f40248df4ce5d08"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_i_lut_allocator.xhtml">ILutAllocator</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_lut.xhtml#a7c28e4f8f5133ed91f40248df4ce5d08">allocator</a> ()</td></tr>
<tr class="memdesc:a7c28e4f8f5133ed91f40248df4ce5d08"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a pointer to the lut's allocator. <a href="#a7c28e4f8f5133ed91f40248df4ce5d08">More...</a><br /></td></tr>
<tr class="separator:a7c28e4f8f5133ed91f40248df4ce5d08"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14c53d2d17be6fa8a2c9861527c7b002"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_lut.xhtml#a14c53d2d17be6fa8a2c9861527c7b002">map</a> (bool blocking=true)</td></tr>
<tr class="memdesc:a14c53d2d17be6fa8a2c9861527c7b002"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enqueue a map operation of the allocated buffer. <a href="#a14c53d2d17be6fa8a2c9861527c7b002">More...</a><br /></td></tr>
<tr class="separator:a14c53d2d17be6fa8a2c9861527c7b002"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ffeb3b5abb3d61f62b58a391816201c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_lut.xhtml#a1ffeb3b5abb3d61f62b58a391816201c">unmap</a> ()</td></tr>
<tr class="memdesc:a1ffeb3b5abb3d61f62b58a391816201c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enqueue an unmap operation of the allocated and mapped buffer. <a href="#a1ffeb3b5abb3d61f62b58a391816201c">More...</a><br /></td></tr>
<tr class="separator:a1ffeb3b5abb3d61f62b58a391816201c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6dac829b4ddf4a5729ac090e73696958"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_lut.xhtml#a6dac829b4ddf4a5729ac090e73696958">num_elements</a> () const override</td></tr>
<tr class="memdesc:a6dac829b4ddf4a5729ac090e73696958"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the total number of elements in the LUT. <a href="#a6dac829b4ddf4a5729ac090e73696958">More...</a><br /></td></tr>
<tr class="separator:a6dac829b4ddf4a5729ac090e73696958"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf3f51cd25e1651cccf04064a9888f4e"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_lut.xhtml#aaf3f51cd25e1651cccf04064a9888f4e">index_offset</a> () const override</td></tr>
<tr class="memdesc:aaf3f51cd25e1651cccf04064a9888f4e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Indicates the offset that needs to be applied to the raw index before performing a lookup in the LUT. <a href="#aaf3f51cd25e1651cccf04064a9888f4e">More...</a><br /></td></tr>
<tr class="separator:aaf3f51cd25e1651cccf04064a9888f4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68f33e9afee896dc24b32093d25c6766"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_lut.xhtml#a68f33e9afee896dc24b32093d25c6766">size_in_bytes</a> () const override</td></tr>
<tr class="memdesc:a68f33e9afee896dc24b32093d25c6766"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the total size in bytes of the LUT. <a href="#a68f33e9afee896dc24b32093d25c6766">More...</a><br /></td></tr>
<tr class="separator:a68f33e9afee896dc24b32093d25c6766"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6dc9c052a2732f899adccfaeee468364"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_lut.xhtml#a6dc9c052a2732f899adccfaeee468364">type</a> () const override</td></tr>
<tr class="memdesc:a6dc9c052a2732f899adccfaeee468364"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the type of the LUT. <a href="#a6dc9c052a2732f899adccfaeee468364">More...</a><br /></td></tr>
<tr class="separator:a6dc9c052a2732f899adccfaeee468364"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a53c338c0d76f41c472cdbf66fafdfe91"><td class="memItemLeft" align="right" valign="top">const cl::Buffer &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_lut.xhtml#a53c338c0d76f41c472cdbf66fafdfe91">cl_buffer</a> () const override</td></tr>
<tr class="memdesc:a53c338c0d76f41c472cdbf66fafdfe91"><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 lut's data. <a href="#a53c338c0d76f41c472cdbf66fafdfe91">More...</a><br /></td></tr>
<tr class="separator:a53c338c0d76f41c472cdbf66fafdfe91"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee7cb2065b88d21ac4ad05bc997ecf82"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_lut.xhtml#aee7cb2065b88d21ac4ad05bc997ecf82">clear</a> () override</td></tr>
<tr class="memdesc:aee7cb2065b88d21ac4ad05bc997ecf82"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears the LUT by setting every element to zero. <a href="#aee7cb2065b88d21ac4ad05bc997ecf82">More...</a><br /></td></tr>
<tr class="separator:aee7cb2065b88d21ac4ad05bc997ecf82"><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_c_l_lut.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_c_l_lut.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="inherit_header pub_methods_classarm__compute_1_1_i_c_l_lut"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classarm__compute_1_1_i_c_l_lut')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classarm__compute_1_1_i_c_l_lut.xhtml">ICLLut</a></td></tr>
<tr class="memitem:abc0b83809a3a81a4dced0bdf7d4d5ed7 inherit pub_methods_classarm__compute_1_1_i_c_l_lut"><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_lut.xhtml#abc0b83809a3a81a4dced0bdf7d4d5ed7">ICLLut</a> ()</td></tr>
<tr class="separator:abc0b83809a3a81a4dced0bdf7d4d5ed7 inherit pub_methods_classarm__compute_1_1_i_c_l_lut"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a783d0c1fadb33a4a6d0beca4d4d3ab81 inherit pub_methods_classarm__compute_1_1_i_c_l_lut"><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_lut.xhtml#a783d0c1fadb33a4a6d0beca4d4d3ab81">ICLLut</a> (const <a class="el" href="classarm__compute_1_1_i_c_l_lut.xhtml">ICLLut</a> &amp;)=delete</td></tr>
<tr class="separator:a783d0c1fadb33a4a6d0beca4d4d3ab81 inherit pub_methods_classarm__compute_1_1_i_c_l_lut"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8740c6498dafc80428e500a056135bf1 inherit pub_methods_classarm__compute_1_1_i_c_l_lut"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_i_c_l_lut.xhtml">ICLLut</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_lut.xhtml#a8740c6498dafc80428e500a056135bf1">operator=</a> (const <a class="el" href="classarm__compute_1_1_i_c_l_lut.xhtml">ICLLut</a> &amp;)=delete</td></tr>
<tr class="separator:a8740c6498dafc80428e500a056135bf1 inherit pub_methods_classarm__compute_1_1_i_c_l_lut"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac0abc7a5c0d172947f0e6a0c0dde3df0 inherit pub_methods_classarm__compute_1_1_i_c_l_lut"><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_lut.xhtml#ac0abc7a5c0d172947f0e6a0c0dde3df0">map</a> (cl::CommandQueue &amp;q, bool blocking=true)</td></tr>
<tr class="memdesc:ac0abc7a5c0d172947f0e6a0c0dde3df0 inherit pub_methods_classarm__compute_1_1_i_c_l_lut"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enqueue a map operation of the allocated buffer on the given queue. <a href="classarm__compute_1_1_i_c_l_lut.xhtml#ac0abc7a5c0d172947f0e6a0c0dde3df0">More...</a><br /></td></tr>
<tr class="separator:ac0abc7a5c0d172947f0e6a0c0dde3df0 inherit pub_methods_classarm__compute_1_1_i_c_l_lut"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af974a2360069c2ef8df4496d00e4f6cc inherit pub_methods_classarm__compute_1_1_i_c_l_lut"><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_lut.xhtml#af974a2360069c2ef8df4496d00e4f6cc">unmap</a> (cl::CommandQueue &amp;q)</td></tr>
<tr class="memdesc:af974a2360069c2ef8df4496d00e4f6cc inherit pub_methods_classarm__compute_1_1_i_c_l_lut"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enqueue an unmap operation of the allocated and mapped buffer on the given queue. <a href="classarm__compute_1_1_i_c_l_lut.xhtml#af974a2360069c2ef8df4496d00e4f6cc">More...</a><br /></td></tr>
<tr class="separator:af974a2360069c2ef8df4496d00e4f6cc inherit pub_methods_classarm__compute_1_1_i_c_l_lut"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24954cca5108a24706441fd99a7fb04c inherit pub_methods_classarm__compute_1_1_i_c_l_lut"><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_lut.xhtml#a24954cca5108a24706441fd99a7fb04c">buffer</a> () const override</td></tr>
<tr class="memdesc:a24954cca5108a24706441fd99a7fb04c inherit pub_methods_classarm__compute_1_1_i_c_l_lut"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a pointer to the start of the LUT. <a href="classarm__compute_1_1_i_c_l_lut.xhtml#a24954cca5108a24706441fd99a7fb04c">More...</a><br /></td></tr>
<tr class="separator:a24954cca5108a24706441fd99a7fb04c inherit pub_methods_classarm__compute_1_1_i_c_l_lut"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classarm__compute_1_1_i_lut"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classarm__compute_1_1_i_lut')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classarm__compute_1_1_i_lut.xhtml">ILut</a></td></tr>
<tr class="memitem:ab90dd1556851ce4b6b1529dfb9107f68 inherit pub_methods_classarm__compute_1_1_i_lut"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_lut.xhtml#ab90dd1556851ce4b6b1529dfb9107f68">~ILut</a> ()=default</td></tr>
<tr class="memdesc:ab90dd1556851ce4b6b1529dfb9107f68 inherit pub_methods_classarm__compute_1_1_i_lut"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default virtual destructor. <a href="classarm__compute_1_1_i_lut.xhtml#ab90dd1556851ce4b6b1529dfb9107f68">More...</a><br /></td></tr>
<tr class="separator:ab90dd1556851ce4b6b1529dfb9107f68 inherit pub_methods_classarm__compute_1_1_i_lut"><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>Basic implementation of the OpenCL lut interface. </p>
<p class="definition">Definition at line <a class="el" href="_c_l_lut_8h_source.xhtml#l00040">40</a> of file <a class="el" href="_c_l_lut_8h_source.xhtml">CLLut.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a0d6c553d858ee767dfd8c13114353556"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0d6c553d858ee767dfd8c13114353556">&#9670;&nbsp;</a></span>CLLut() <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_c_l_lut.xhtml">CLLut</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructor. </p>
<p class="definition">Definition at line <a class="el" href="_c_l_lut_8cpp_source.xhtml#l00032">32</a> of file <a class="el" href="_c_l_lut_8cpp_source.xhtml">CLLut.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; : _allocator()</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"> 35</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
<a id="ad2b54d8d7daf7f067cda8ea9e8a795f3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad2b54d8d7daf7f067cda8ea9e8a795f3">&#9670;&nbsp;</a></span>CLLut() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classarm__compute_1_1_c_l_lut.xhtml">CLLut</a> </td>
<td>(</td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>num_elements</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>&#160;</td>
<td class="paramname"><em>data_type</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructor: initializes a LUT which can contain num_values values of data_type type. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">num_elements</td><td>Number of elements of the LUT. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">data_type</td><td>Data type of each element. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_c_l_lut_8cpp_source.xhtml#l00037">37</a> of file <a class="el" href="_c_l_lut_8cpp_source.xhtml">CLLut.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; : _allocator()</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; _allocator.<a class="code" href="classarm__compute_1_1_i_lut_allocator.xhtml#a4ef157737b45c46f115e14b425512800">init</a>(<a class="code" href="classarm__compute_1_1_c_l_lut.xhtml#a6dac829b4ddf4a5729ac090e73696958">num_elements</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a5f5b6c4337eac9e2e0046ca2304d80dc">data_type</a>);</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;}</div><div class="ttc" id="classarm__compute_1_1_c_l_lut_xhtml_a6dac829b4ddf4a5729ac090e73696958"><div class="ttname"><a href="classarm__compute_1_1_c_l_lut.xhtml#a6dac829b4ddf4a5729ac090e73696958">arm_compute::CLLut::num_elements</a></div><div class="ttdeci">size_t num_elements() const override</div><div class="ttdoc">Returns the total number of elements in the LUT.</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_lut_8cpp_source.xhtml#l00043">CLLut.cpp:43</a></div></div>
<div class="ttc" id="classarm__compute_1_1_i_lut_allocator_xhtml_a4ef157737b45c46f115e14b425512800"><div class="ttname"><a href="classarm__compute_1_1_i_lut_allocator.xhtml#a4ef157737b45c46f115e14b425512800">arm_compute::ILutAllocator::init</a></div><div class="ttdeci">void init(size_t num_elements, DataType data_type)</div><div class="ttdoc">Allocate an LUT of the requested number of elements and data_type.</div><div class="ttdef"><b>Definition:</b> <a href="_i_lut_allocator_8cpp_source.xhtml#l00035">ILutAllocator.cpp:35</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a5f5b6c4337eac9e2e0046ca2304d80dc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a5f5b6c4337eac9e2e0046ca2304d80dc">arm_compute::test::validation::data_type</a></div><div class="ttdeci">data_type</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_arithmetic_addition_8cpp_source.xhtml#l00135">ArithmeticAddition.cpp:135</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_c_l_2_arithmetic_addition_8cpp_source.xhtml#l00135">arm_compute::test::validation::data_type</a>, <a class="el" href="_i_lut_allocator_8cpp_source.xhtml#l00035">ILutAllocator::init()</a>, and <a class="el" href="_c_l_lut_8cpp_source.xhtml#l00043">CLLut::num_elements()</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a7c28e4f8f5133ed91f40248df4ce5d08"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7c28e4f8f5133ed91f40248df4ce5d08">&#9670;&nbsp;</a></span>allocator()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classarm__compute_1_1_i_lut_allocator.xhtml">ILutAllocator</a> * allocator </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Return a pointer to the lut's allocator. </p>
<dl class="section return"><dt>Returns</dt><dd>A pointer to the lut's allocator </dd></dl>
<p class="definition">Definition at line <a class="el" href="_c_l_lut_8cpp_source.xhtml#l00076">76</a> of file <a class="el" href="_c_l_lut_8cpp_source.xhtml">CLLut.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;{</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keywordflow">return</span> &amp;_allocator;</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
<a id="a53c338c0d76f41c472cdbf66fafdfe91"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a53c338c0d76f41c472cdbf66fafdfe91">&#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">const cl::Buffer &amp; cl_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>Interface to be implemented by the child class to return a reference to the OpenCL buffer containing the lut's data. </p>
<dl class="section return"><dt>Returns</dt><dd>A reference to an OpenCL buffer containing the lut's data. </dd></dl>
<p>Implements <a class="el" href="classarm__compute_1_1_i_c_l_lut.xhtml#a1fb4c50755a0ef424652246838ed91a6">ICLLut</a>.</p>
<p class="definition">Definition at line <a class="el" href="_c_l_lut_8cpp_source.xhtml#l00063">63</a> of file <a class="el" href="_c_l_lut_8cpp_source.xhtml">CLLut.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;{</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="keywordflow">return</span> _allocator.<a class="code" href="classarm__compute_1_1_c_l_lut_allocator.xhtml#ac7e247b94ceae35db2a172961ab83df9">cl_data</a>();</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;}</div><div class="ttc" id="classarm__compute_1_1_c_l_lut_allocator_xhtml_ac7e247b94ceae35db2a172961ab83df9"><div class="ttname"><a href="classarm__compute_1_1_c_l_lut_allocator.xhtml#ac7e247b94ceae35db2a172961ab83df9">arm_compute::CLLutAllocator::cl_data</a></div><div class="ttdeci">const cl::Buffer &amp; cl_data() const</div><div class="ttdoc">Interface to be implemented by the child class to return the pointer to the CL data.</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_lut_allocator_8cpp_source.xhtml#l00041">CLLutAllocator.cpp:41</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_c_l_lut_allocator_8cpp_source.xhtml#l00041">CLLutAllocator::cl_data()</a>.</p>
</div>
</div>
<a id="aee7cb2065b88d21ac4ad05bc997ecf82"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aee7cb2065b88d21ac4ad05bc997ecf82">&#9670;&nbsp;</a></span>clear()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void clear </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></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>Clears the LUT by setting every element to zero. </p>
<p>Implements <a class="el" href="classarm__compute_1_1_i_lut.xhtml#a5eeb94d22b8366d1b68d0614384802fe">ILut</a>.</p>
<p class="definition">Definition at line <a class="el" href="_c_l_lut_8cpp_source.xhtml#l00068">68</a> of file <a class="el" href="_c_l_lut_8cpp_source.xhtml">CLLut.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;{</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; cl::CommandQueue &amp;q = <a class="code" href="classarm__compute_1_1_c_l_scheduler.xhtml#a9b58d0eb9a2af8e6d7908695e1557d6c">CLScheduler::get</a>().<a class="code" href="classarm__compute_1_1_c_l_scheduler.xhtml#ad381d1aed28b4b1e1f5a710633934580">queue</a>();</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; uint8_t *data = _allocator.<a class="code" href="classarm__compute_1_1_c_l_lut_allocator.xhtml#a15eaecea13a8a49c8d259fddefcbd7ac">map</a>(q, <span class="keyword">true</span> <span class="comment">/* blocking */</span>);</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; std::memset(data, 0, <a class="code" href="classarm__compute_1_1_c_l_lut.xhtml#a68f33e9afee896dc24b32093d25c6766">size_in_bytes</a>());</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; _allocator.<a class="code" href="classarm__compute_1_1_c_l_lut_allocator.xhtml#a34b854d640d247bd7422f60ca2f3a05c">unmap</a>(q, data);</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;}</div><div class="ttc" id="classarm__compute_1_1_c_l_lut_xhtml_a68f33e9afee896dc24b32093d25c6766"><div class="ttname"><a href="classarm__compute_1_1_c_l_lut.xhtml#a68f33e9afee896dc24b32093d25c6766">arm_compute::CLLut::size_in_bytes</a></div><div class="ttdeci">size_t size_in_bytes() const override</div><div class="ttdoc">Returns the total size in bytes of the LUT.</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_lut_8cpp_source.xhtml#l00053">CLLut.cpp:53</a></div></div>
<div class="ttc" id="classarm__compute_1_1_c_l_scheduler_xhtml_a9b58d0eb9a2af8e6d7908695e1557d6c"><div class="ttname"><a href="classarm__compute_1_1_c_l_scheduler.xhtml#a9b58d0eb9a2af8e6d7908695e1557d6c">arm_compute::CLScheduler::get</a></div><div class="ttdeci">static CLScheduler &amp; get()</div><div class="ttdoc">Access the scheduler singleton.</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_scheduler_8cpp_source.xhtml#l00041">CLScheduler.cpp:41</a></div></div>
<div class="ttc" id="classarm__compute_1_1_c_l_scheduler_xhtml_ad381d1aed28b4b1e1f5a710633934580"><div class="ttname"><a href="classarm__compute_1_1_c_l_scheduler.xhtml#ad381d1aed28b4b1e1f5a710633934580">arm_compute::CLScheduler::queue</a></div><div class="ttdeci">cl::CommandQueue &amp; queue()</div><div class="ttdoc">Accessor for the associated CL command queue.</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_scheduler_8h_source.xhtml#l00102">CLScheduler.h:102</a></div></div>
<div class="ttc" id="classarm__compute_1_1_c_l_lut_allocator_xhtml_a15eaecea13a8a49c8d259fddefcbd7ac"><div class="ttname"><a href="classarm__compute_1_1_c_l_lut_allocator.xhtml#a15eaecea13a8a49c8d259fddefcbd7ac">arm_compute::CLLutAllocator::map</a></div><div class="ttdeci">uint8_t * map(cl::CommandQueue &amp;q, bool blocking)</div><div class="ttdoc">Enqueue a map operation of the allocated buffer on the given queue.</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_lut_allocator_8cpp_source.xhtml#l00046">CLLutAllocator.cpp:46</a></div></div>
<div class="ttc" id="classarm__compute_1_1_c_l_lut_allocator_xhtml_a34b854d640d247bd7422f60ca2f3a05c"><div class="ttname"><a href="classarm__compute_1_1_c_l_lut_allocator.xhtml#a34b854d640d247bd7422f60ca2f3a05c">arm_compute::CLLutAllocator::unmap</a></div><div class="ttdeci">void unmap(cl::CommandQueue &amp;q, uint8_t *mapping)</div><div class="ttdoc">Enqueue an unmap operation of the allocated buffer on the given queue.</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_lut_allocator_8cpp_source.xhtml#l00052">CLLutAllocator.cpp:52</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_c_l_scheduler_8cpp_source.xhtml#l00041">CLScheduler::get()</a>, <a class="el" href="_c_l_lut_allocator_8cpp_source.xhtml#l00046">CLLutAllocator::map()</a>, <a class="el" href="_c_l_scheduler_8h_source.xhtml#l00102">CLScheduler::queue()</a>, <a class="el" href="_c_l_lut_8cpp_source.xhtml#l00053">CLLut::size_in_bytes()</a>, and <a class="el" href="_c_l_lut_allocator_8cpp_source.xhtml#l00052">CLLutAllocator::unmap()</a>.</p>
</div>
</div>
<a id="aaf3f51cd25e1651cccf04064a9888f4e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaf3f51cd25e1651cccf04064a9888f4e">&#9670;&nbsp;</a></span>index_offset()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint32_t index_offset </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>Indicates the offset that needs to be applied to the raw index before performing a lookup in the LUT. </p>
<dl class="section return"><dt>Returns</dt><dd>The normalization offset. </dd></dl>
<p>Implements <a class="el" href="classarm__compute_1_1_i_lut.xhtml#a786de36dda3773c5fb35d6700e64621e">ILut</a>.</p>
<p class="definition">Definition at line <a class="el" href="_c_l_lut_8cpp_source.xhtml#l00048">48</a> of file <a class="el" href="_c_l_lut_8cpp_source.xhtml">CLLut.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> (<a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">DataType::S16</a> == _allocator.<a class="code" href="classarm__compute_1_1_i_lut_allocator.xhtml#aa5369d30001dbd8880fb58d6af2b40a0">type</a>()) ? <a class="code" href="classarm__compute_1_1_c_l_lut.xhtml#a6dac829b4ddf4a5729ac090e73696958">num_elements</a>() / 2 : 0;</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;}</div><div class="ttc" id="classarm__compute_1_1_c_l_lut_xhtml_a6dac829b4ddf4a5729ac090e73696958"><div class="ttname"><a href="classarm__compute_1_1_c_l_lut.xhtml#a6dac829b4ddf4a5729ac090e73696958">arm_compute::CLLut::num_elements</a></div><div class="ttdeci">size_t num_elements() const override</div><div class="ttdoc">Returns the total number of elements in the LUT.</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_lut_8cpp_source.xhtml#l00043">CLLut.cpp:43</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">arm_compute::Format::S16</a></div><div class="ttdoc">1 channel, 1 S16 per channel</div></div>
<div class="ttc" id="classarm__compute_1_1_i_lut_allocator_xhtml_aa5369d30001dbd8880fb58d6af2b40a0"><div class="ttname"><a href="classarm__compute_1_1_i_lut_allocator.xhtml#aa5369d30001dbd8880fb58d6af2b40a0">arm_compute::ILutAllocator::type</a></div><div class="ttdeci">DataType type() const</div><div class="ttdoc">Returns the type of the LUT.</div><div class="ttdef"><b>Definition:</b> <a href="_i_lut_allocator_8cpp_source.xhtml#l00050">ILutAllocator.cpp:50</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_c_l_lut_8cpp_source.xhtml#l00043">CLLut::num_elements()</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">arm_compute::S16</a>, and <a class="el" href="_i_lut_allocator_8cpp_source.xhtml#l00050">ILutAllocator::type()</a>.</p>
<p class="reference">Referenced by <a class="el" href="_c_l_lut_accessor_8h_source.xhtml#l00067">CLLutAccessor&lt; T &gt;::operator[]()</a>.</p>
</div>
</div>
<a id="a14c53d2d17be6fa8a2c9861527c7b002"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a14c53d2d17be6fa8a2c9861527c7b002">&#9670;&nbsp;</a></span>map() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void map </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>blocking</em> = <code>true</code></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Enqueue a map operation of the allocated buffer. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<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. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_c_l_lut_8cpp_source.xhtml#l00081">81</a> of file <a class="el" href="_c_l_lut_8cpp_source.xhtml">CLLut.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;{</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <a class="code" href="classarm__compute_1_1_i_c_l_lut.xhtml#ac0abc7a5c0d172947f0e6a0c0dde3df0">ICLLut::map</a>(<a class="code" href="classarm__compute_1_1_c_l_scheduler.xhtml#a9b58d0eb9a2af8e6d7908695e1557d6c">CLScheduler::get</a>().queue(), blocking);</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;}</div><div class="ttc" id="classarm__compute_1_1_i_c_l_lut_xhtml_ac0abc7a5c0d172947f0e6a0c0dde3df0"><div class="ttname"><a href="classarm__compute_1_1_i_c_l_lut.xhtml#ac0abc7a5c0d172947f0e6a0c0dde3df0">arm_compute::ICLLut::map</a></div><div class="ttdeci">void map(cl::CommandQueue &amp;q, bool blocking=true)</div><div class="ttdoc">Enqueue a map operation of the allocated buffer on the given queue.</div><div class="ttdef"><b>Definition:</b> <a href="_i_c_l_lut_8cpp_source.xhtml#l00033">ICLLut.cpp:33</a></div></div>
<div class="ttc" id="classarm__compute_1_1_c_l_scheduler_xhtml_a9b58d0eb9a2af8e6d7908695e1557d6c"><div class="ttname"><a href="classarm__compute_1_1_c_l_scheduler.xhtml#a9b58d0eb9a2af8e6d7908695e1557d6c">arm_compute::CLScheduler::get</a></div><div class="ttdeci">static CLScheduler &amp; get()</div><div class="ttdoc">Access the scheduler singleton.</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_scheduler_8cpp_source.xhtml#l00041">CLScheduler.cpp:41</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_c_l_scheduler_8cpp_source.xhtml#l00041">CLScheduler::get()</a>, and <a class="el" href="_i_c_l_lut_8cpp_source.xhtml#l00033">ICLLut::map()</a>.</p>
</div>
</div>
<a id="ac0abc7a5c0d172947f0e6a0c0dde3df0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac0abc7a5c0d172947f0e6a0c0dde3df0">&#9670;&nbsp;</a></span>map() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void map</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_lut_8cpp_source.xhtml#l00033">33</a> of file <a class="el" href="_i_c_l_lut_8cpp_source.xhtml">ICLLut.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;{</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; _mapping = do_map(q, blocking);</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
<a id="a6dac829b4ddf4a5729ac090e73696958"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6dac829b4ddf4a5729ac090e73696958">&#9670;&nbsp;</a></span>num_elements()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">size_t num_elements </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 the total number of elements in the LUT. </p>
<dl class="section return"><dt>Returns</dt><dd>Total number of elements. </dd></dl>
<p>Implements <a class="el" href="classarm__compute_1_1_i_lut.xhtml#a7a826fbb4f639c556352d1ede69187d7">ILut</a>.</p>
<p class="definition">Definition at line <a class="el" href="_c_l_lut_8cpp_source.xhtml#l00043">43</a> of file <a class="el" href="_c_l_lut_8cpp_source.xhtml">CLLut.cpp</a>.</p>
<div class="fragment"><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="keywordflow">return</span> _allocator.<a class="code" href="classarm__compute_1_1_i_lut_allocator.xhtml#ab13544f21571d4f4dd804cb4b96e2987">num_elements</a>();</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;}</div><div class="ttc" id="classarm__compute_1_1_i_lut_allocator_xhtml_ab13544f21571d4f4dd804cb4b96e2987"><div class="ttname"><a href="classarm__compute_1_1_i_lut_allocator.xhtml#ab13544f21571d4f4dd804cb4b96e2987">arm_compute::ILutAllocator::num_elements</a></div><div class="ttdeci">size_t num_elements() const</div><div class="ttdoc">Returns the total number of elements in the LUT.</div><div class="ttdef"><b>Definition:</b> <a href="_i_lut_allocator_8cpp_source.xhtml#l00045">ILutAllocator.cpp:45</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_i_lut_allocator_8cpp_source.xhtml#l00045">ILutAllocator::num_elements()</a>.</p>
<p class="reference">Referenced by <a class="el" href="_c_l_lut_8cpp_source.xhtml#l00037">CLLut::CLLut()</a>, <a class="el" href="_c_l_lut_8cpp_source.xhtml#l00048">CLLut::index_offset()</a>, and <a class="el" href="_c_l_lut_accessor_8h_source.xhtml#l00062">CLLutAccessor&lt; T &gt;::num_elements()</a>.</p>
</div>
</div>
<a id="a68f33e9afee896dc24b32093d25c6766"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a68f33e9afee896dc24b32093d25c6766">&#9670;&nbsp;</a></span>size_in_bytes()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">size_t size_in_bytes </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 the total size in bytes of the LUT. </p>
<dl class="section return"><dt>Returns</dt><dd>Total size of the LUT in bytes. </dd></dl>
<p>Implements <a class="el" href="classarm__compute_1_1_i_lut.xhtml#a6314b1e589ffe32277858c018ac3c630">ILut</a>.</p>
<p class="definition">Definition at line <a class="el" href="_c_l_lut_8cpp_source.xhtml#l00053">53</a> of file <a class="el" href="_c_l_lut_8cpp_source.xhtml">CLLut.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;{</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keywordflow">return</span> _allocator.<a class="code" href="classarm__compute_1_1_i_lut_allocator.xhtml#a259cb5a711406a8c3e5d937eb9350cca">size</a>();</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;}</div><div class="ttc" id="classarm__compute_1_1_i_lut_allocator_xhtml_a259cb5a711406a8c3e5d937eb9350cca"><div class="ttname"><a href="classarm__compute_1_1_i_lut_allocator.xhtml#a259cb5a711406a8c3e5d937eb9350cca">arm_compute::ILutAllocator::size</a></div><div class="ttdeci">size_t size() const</div><div class="ttdoc">Returns the total size in bytes of the LUT.</div><div class="ttdef"><b>Definition:</b> <a href="_i_lut_allocator_8cpp_source.xhtml#l00055">ILutAllocator.cpp:55</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_i_lut_allocator_8cpp_source.xhtml#l00055">ILutAllocator::size()</a>.</p>
<p class="reference">Referenced by <a class="el" href="_c_l_lut_8cpp_source.xhtml#l00068">CLLut::clear()</a>.</p>
</div>
</div>
<a id="a6dc9c052a2732f899adccfaeee468364"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6dc9c052a2732f899adccfaeee468364">&#9670;&nbsp;</a></span>type()</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="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> type </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 the type of the LUT. </p>
<dl class="section return"><dt>Returns</dt><dd>The type of the LUT. </dd></dl>
<p>Implements <a class="el" href="classarm__compute_1_1_i_lut.xhtml#aa1917b40b57ce0a0f1c69722b46f3f46">ILut</a>.</p>
<p class="definition">Definition at line <a class="el" href="_c_l_lut_8cpp_source.xhtml#l00058">58</a> of file <a class="el" href="_c_l_lut_8cpp_source.xhtml">CLLut.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;{</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keywordflow">return</span> _allocator.<a class="code" href="classarm__compute_1_1_i_lut_allocator.xhtml#aa5369d30001dbd8880fb58d6af2b40a0">type</a>();</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;}</div><div class="ttc" id="classarm__compute_1_1_i_lut_allocator_xhtml_aa5369d30001dbd8880fb58d6af2b40a0"><div class="ttname"><a href="classarm__compute_1_1_i_lut_allocator.xhtml#aa5369d30001dbd8880fb58d6af2b40a0">arm_compute::ILutAllocator::type</a></div><div class="ttdeci">DataType type() const</div><div class="ttdoc">Returns the type of the LUT.</div><div class="ttdef"><b>Definition:</b> <a href="_i_lut_allocator_8cpp_source.xhtml#l00050">ILutAllocator.cpp:50</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_i_lut_allocator_8cpp_source.xhtml#l00050">ILutAllocator::type()</a>.</p>
</div>
</div>
<a id="a1ffeb3b5abb3d61f62b58a391816201c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1ffeb3b5abb3d61f62b58a391816201c">&#9670;&nbsp;</a></span>unmap() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void unmap </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Enqueue an unmap operation of the allocated and mapped buffer. </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>
<p class="definition">Definition at line <a class="el" href="_c_l_lut_8cpp_source.xhtml#l00086">86</a> of file <a class="el" href="_c_l_lut_8cpp_source.xhtml">CLLut.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;{</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <a class="code" href="classarm__compute_1_1_i_c_l_lut.xhtml#af974a2360069c2ef8df4496d00e4f6cc">ICLLut::unmap</a>(<a class="code" href="classarm__compute_1_1_c_l_scheduler.xhtml#a9b58d0eb9a2af8e6d7908695e1557d6c">CLScheduler::get</a>().queue());</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;}</div><div class="ttc" id="classarm__compute_1_1_c_l_scheduler_xhtml_a9b58d0eb9a2af8e6d7908695e1557d6c"><div class="ttname"><a href="classarm__compute_1_1_c_l_scheduler.xhtml#a9b58d0eb9a2af8e6d7908695e1557d6c">arm_compute::CLScheduler::get</a></div><div class="ttdeci">static CLScheduler &amp; get()</div><div class="ttdoc">Access the scheduler singleton.</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_scheduler_8cpp_source.xhtml#l00041">CLScheduler.cpp:41</a></div></div>
<div class="ttc" id="classarm__compute_1_1_i_c_l_lut_xhtml_af974a2360069c2ef8df4496d00e4f6cc"><div class="ttname"><a href="classarm__compute_1_1_i_c_l_lut.xhtml#af974a2360069c2ef8df4496d00e4f6cc">arm_compute::ICLLut::unmap</a></div><div class="ttdeci">void unmap(cl::CommandQueue &amp;q)</div><div class="ttdoc">Enqueue an unmap operation of the allocated and mapped buffer on the given queue.</div><div class="ttdef"><b>Definition:</b> <a href="_i_c_l_lut_8cpp_source.xhtml#l00038">ICLLut.cpp:38</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_c_l_scheduler_8cpp_source.xhtml#l00041">CLScheduler::get()</a>, and <a class="el" href="_i_c_l_lut_8cpp_source.xhtml#l00038">ICLLut::unmap()</a>.</p>
<p class="reference">Referenced by <a class="el" href="_c_l_lut_accessor_8h_source.xhtml#l00048">CLLutAccessor&lt; T &gt;::~CLLutAccessor()</a>.</p>
</div>
</div>
<a id="af974a2360069c2ef8df4496d00e4f6cc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af974a2360069c2ef8df4496d00e4f6cc">&#9670;&nbsp;</a></span>unmap() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void unmap</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_lut_8cpp_source.xhtml#l00038">38</a> of file <a class="el" href="_i_c_l_lut_8cpp_source.xhtml">ICLLut.cpp</a>.</p>
<div class="fragment"><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; do_unmap(q);</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; _mapping = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>arm_compute/runtime/CL/<a class="el" href="_c_l_lut_8h_source.xhtml">CLLut.h</a></li>
<li>src/runtime/CL/<a class="el" href="_c_l_lut_8cpp_source.xhtml">CLLut.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_c_l_lut.xhtml">CLLut</a></li>
<li class="footer">Generated on Mon Sep 2 2019 11:47:33 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>