blob: 5de66b2e77b77ad23e00553ecc89f9ab64e5a2c8 [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: AssetsLibrary 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">20.02.1</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_1test_1_1_assets_library.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-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> </div>
<div class="headertitle">
<div class="title">AssetsLibrary Class Reference<span class="mlabels"><span class="mlabel">final</span></span></div> </div>
</div><!--header-->
<div class="contents">
<p>Factory class to create and fill tensors.
<a href="classarm__compute_1_1test_1_1_assets_library.xhtml#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="_assets_library_8h_source.xhtml">AssetsLibrary.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a51733f705cc27b63c4be127eb50639c4"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1test_1_1_assets_library.xhtml#a51733f705cc27b63c4be127eb50639c4">RangePair</a> = std::pair&lt; float, float &gt;</td></tr>
<tr class="separator:a51733f705cc27b63c4be127eb50639c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><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:adb53338108890e6b7354e16a1e9ae716"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1test_1_1_assets_library.xhtml#adb53338108890e6b7354e16a1e9ae716">AssetsLibrary</a> (std::string <a class="el" href="classarm__compute_1_1test_1_1_assets_library.xhtml#ac4cb5f95f1d720ef0cc94b74152cf50b">path</a>, std::random_device::result_type <a class="el" href="classarm__compute_1_1test_1_1_assets_library.xhtml#a0a20fa200643e1e3aa4004375d9188f1">seed</a>)</td></tr>
<tr class="memdesc:adb53338108890e6b7354e16a1e9ae716"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialises the library with a <code>path</code> to the assets directory. <a href="#adb53338108890e6b7354e16a1e9ae716">More...</a><br /></td></tr>
<tr class="separator:adb53338108890e6b7354e16a1e9ae716"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4cb5f95f1d720ef0cc94b74152cf50b"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1test_1_1_assets_library.xhtml#ac4cb5f95f1d720ef0cc94b74152cf50b">path</a> () const</td></tr>
<tr class="memdesc:ac4cb5f95f1d720ef0cc94b74152cf50b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Path to assets directory used to initialise library. <a href="#ac4cb5f95f1d720ef0cc94b74152cf50b">More...</a><br /></td></tr>
<tr class="separator:ac4cb5f95f1d720ef0cc94b74152cf50b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a20fa200643e1e3aa4004375d9188f1"><td class="memItemLeft" align="right" valign="top">std::random_device::result_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1test_1_1_assets_library.xhtml#a0a20fa200643e1e3aa4004375d9188f1">seed</a> () const</td></tr>
<tr class="memdesc:a0a20fa200643e1e3aa4004375d9188f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Seed that is used to fill tensors with random values. <a href="#a0a20fa200643e1e3aa4004375d9188f1">More...</a><br /></td></tr>
<tr class="separator:a0a20fa200643e1e3aa4004375d9188f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc474b96886b5fd500460c7b25dc84fa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1test_1_1_assets_library.xhtml#acc474b96886b5fd500460c7b25dc84fa">get_image_shape</a> (const std::string &amp;name)</td></tr>
<tr class="memdesc:acc474b96886b5fd500460c7b25dc84fa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides a tensor shape for the specified image. <a href="#acc474b96886b5fd500460c7b25dc84fa">More...</a><br /></td></tr>
<tr class="separator:acc474b96886b5fd500460c7b25dc84fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6db5c08c0540fb3c0b8292861342a73"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classarm__compute_1_1test_1_1_raw_tensor.xhtml">RawTensor</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1test_1_1_assets_library.xhtml#aa6db5c08c0540fb3c0b8292861342a73">get</a> (const std::string &amp;name) const</td></tr>
<tr class="memdesc:aa6db5c08c0540fb3c0b8292861342a73"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides a constant raw tensor for the specified image. <a href="#aa6db5c08c0540fb3c0b8292861342a73">More...</a><br /></td></tr>
<tr class="separator:aa6db5c08c0540fb3c0b8292861342a73"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0cf1a79542c521b9f16d117b085c4d5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1test_1_1_raw_tensor.xhtml">RawTensor</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1test_1_1_assets_library.xhtml#aa0cf1a79542c521b9f16d117b085c4d5">get</a> (const std::string &amp;name)</td></tr>
<tr class="memdesc:aa0cf1a79542c521b9f16d117b085c4d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides a raw tensor for the specified image. <a href="#aa0cf1a79542c521b9f16d117b085c4d5">More...</a><br /></td></tr>
<tr class="separator:aa0cf1a79542c521b9f16d117b085c4d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2a42841665f9beb54eb36b19bb80429d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1test_1_1_raw_tensor.xhtml">RawTensor</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1test_1_1_assets_library.xhtml#a2a42841665f9beb54eb36b19bb80429d">get</a> (const std::string &amp;name, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> data_type, int num_channels=1) const</td></tr>
<tr class="memdesc:a2a42841665f9beb54eb36b19bb80429d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an uninitialised raw tensor with the given <code>data_type</code> and <code>num_channels</code>. <a href="#a2a42841665f9beb54eb36b19bb80429d">More...</a><br /></td></tr>
<tr class="separator:a2a42841665f9beb54eb36b19bb80429d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a09811217e482c207002786f08b0cf2"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classarm__compute_1_1test_1_1_raw_tensor.xhtml">RawTensor</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1test_1_1_assets_library.xhtml#a3a09811217e482c207002786f08b0cf2">get</a> (const std::string &amp;name, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> format) const</td></tr>
<tr class="memdesc:a3a09811217e482c207002786f08b0cf2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides a contant raw tensor for the specified image after it has been converted to <code>format</code>. <a href="#a3a09811217e482c207002786f08b0cf2">More...</a><br /></td></tr>
<tr class="separator:a3a09811217e482c207002786f08b0cf2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab760ccaa18b95b99c73eb0e763f39ec2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1test_1_1_raw_tensor.xhtml">RawTensor</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1test_1_1_assets_library.xhtml#ab760ccaa18b95b99c73eb0e763f39ec2">get</a> (const std::string &amp;name, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> format)</td></tr>
<tr class="memdesc:ab760ccaa18b95b99c73eb0e763f39ec2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides a raw tensor for the specified image after it has been converted to <code>format</code>. <a href="#ab760ccaa18b95b99c73eb0e763f39ec2">More...</a><br /></td></tr>
<tr class="separator:ab760ccaa18b95b99c73eb0e763f39ec2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a53dd04f4377c6f33085ecefd226071f3"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classarm__compute_1_1test_1_1_raw_tensor.xhtml">RawTensor</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1test_1_1_assets_library.xhtml#a53dd04f4377c6f33085ecefd226071f3">get</a> (const std::string &amp;name, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a> channel) const</td></tr>
<tr class="memdesc:a53dd04f4377c6f33085ecefd226071f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides a contant raw tensor for the specified channel after it has been extracted form the given image. <a href="#a53dd04f4377c6f33085ecefd226071f3">More...</a><br /></td></tr>
<tr class="separator:a53dd04f4377c6f33085ecefd226071f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af6f0ca724e534653925306023dbb88e7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1test_1_1_raw_tensor.xhtml">RawTensor</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1test_1_1_assets_library.xhtml#af6f0ca724e534653925306023dbb88e7">get</a> (const std::string &amp;name, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a> channel)</td></tr>
<tr class="memdesc:af6f0ca724e534653925306023dbb88e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides a raw tensor for the specified channel after it has been extracted form the given image. <a href="#af6f0ca724e534653925306023dbb88e7">More...</a><br /></td></tr>
<tr class="separator:af6f0ca724e534653925306023dbb88e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94ea5147ba395f404c0f0a8a203c1a61"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classarm__compute_1_1test_1_1_raw_tensor.xhtml">RawTensor</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1test_1_1_assets_library.xhtml#a94ea5147ba395f404c0f0a8a203c1a61">get</a> (const std::string &amp;name, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> format, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a> channel) const</td></tr>
<tr class="memdesc:a94ea5147ba395f404c0f0a8a203c1a61"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides a constant raw tensor for the specified channel after it has been extracted form the given image formatted to <code>format</code>. <a href="#a94ea5147ba395f404c0f0a8a203c1a61">More...</a><br /></td></tr>
<tr class="separator:a94ea5147ba395f404c0f0a8a203c1a61"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad6182f07b3eda32931598aa4f2bfc11a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1test_1_1_raw_tensor.xhtml">RawTensor</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1test_1_1_assets_library.xhtml#ad6182f07b3eda32931598aa4f2bfc11a">get</a> (const std::string &amp;name, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> format, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a> channel)</td></tr>
<tr class="memdesc:ad6182f07b3eda32931598aa4f2bfc11a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides a raw tensor for the specified channel after it has been extracted form the given image formatted to <code>format</code>. <a href="#ad6182f07b3eda32931598aa4f2bfc11a">More...</a><br /></td></tr>
<tr class="separator:ad6182f07b3eda32931598aa4f2bfc11a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae139c07ceb794ec059efb92aa4c6fd9d"><td class="memTemplParams" colspan="2">template&lt;typename T , typename D &gt; </td></tr>
<tr class="memitem:ae139c07ceb794ec059efb92aa4c6fd9d"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1test_1_1_assets_library.xhtml#ae139c07ceb794ec059efb92aa4c6fd9d">fill_borders_with_garbage</a> (T &amp;&amp;tensor, D &amp;&amp;distribution, std::random_device::result_type seed_offset) const</td></tr>
<tr class="memdesc:ae139c07ceb794ec059efb92aa4c6fd9d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Puts garbage values all around the tensor for testing purposes. <a href="#ae139c07ceb794ec059efb92aa4c6fd9d">More...</a><br /></td></tr>
<tr class="separator:ae139c07ceb794ec059efb92aa4c6fd9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac186c860429337d470bccc138ed84423"><td class="memTemplParams" colspan="2">template&lt;typename T , typename D &gt; </td></tr>
<tr class="memitem:ac186c860429337d470bccc138ed84423"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1test_1_1_assets_library.xhtml#ac186c860429337d470bccc138ed84423">fill</a> (T &amp;&amp;tensor, D &amp;&amp;distribution, std::random_device::result_type seed_offset) const</td></tr>
<tr class="memdesc:ac186c860429337d470bccc138ed84423"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fills the specified <code>tensor</code> with random values drawn from <code>distribution</code>. <a href="#ac186c860429337d470bccc138ed84423">More...</a><br /></td></tr>
<tr class="separator:ac186c860429337d470bccc138ed84423"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6327330393eee13d12234267ab5d19d4"><td class="memTemplParams" colspan="2">template&lt;typename T , typename D &gt; </td></tr>
<tr class="memitem:a6327330393eee13d12234267ab5d19d4"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1test_1_1_assets_library.xhtml#a6327330393eee13d12234267ab5d19d4">fill_boxes</a> (T &amp;&amp;tensor, D &amp;&amp;distribution, std::random_device::result_type seed_offset) const</td></tr>
<tr class="separator:a6327330393eee13d12234267ab5d19d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd6a57c4cd51640fa1804b6bde75e149"><td class="memTemplParams" colspan="2">template&lt;typename T , typename D &gt; </td></tr>
<tr class="memitem:acd6a57c4cd51640fa1804b6bde75e149"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1test_1_1_assets_library.xhtml#acd6a57c4cd51640fa1804b6bde75e149">fill</a> (std::vector&lt; T &gt; &amp;vec, D &amp;&amp;distribution, std::random_device::result_type seed_offset) const</td></tr>
<tr class="memdesc:acd6a57c4cd51640fa1804b6bde75e149"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fills the specified <code>raw</code> tensor with random values drawn from <code>distribution</code>. <a href="#acd6a57c4cd51640fa1804b6bde75e149">More...</a><br /></td></tr>
<tr class="separator:acd6a57c4cd51640fa1804b6bde75e149"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72642223d82ac5d32582d66ba180fdfc"><td class="memTemplParams" colspan="2">template&lt;typename D &gt; </td></tr>
<tr class="memitem:a72642223d82ac5d32582d66ba180fdfc"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1test_1_1_assets_library.xhtml#a72642223d82ac5d32582d66ba180fdfc">fill</a> (<a class="el" href="classarm__compute_1_1test_1_1_raw_tensor.xhtml">RawTensor</a> &amp;raw, D &amp;&amp;distribution, std::random_device::result_type seed_offset) const</td></tr>
<tr class="memdesc:a72642223d82ac5d32582d66ba180fdfc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fills the specified <code>raw</code> tensor with random values drawn from <code>distribution</code>. <a href="#a72642223d82ac5d32582d66ba180fdfc">More...</a><br /></td></tr>
<tr class="separator:a72642223d82ac5d32582d66ba180fdfc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afcd66ee0f0a1ad59ad21a4d548f83c21"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:afcd66ee0f0a1ad59ad21a4d548f83c21"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1test_1_1_assets_library.xhtml#afcd66ee0f0a1ad59ad21a4d548f83c21">fill</a> (T &amp;&amp;tensor, const std::string &amp;name, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> format) const</td></tr>
<tr class="memdesc:afcd66ee0f0a1ad59ad21a4d548f83c21"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fills the specified <code>tensor</code> with the content of the specified image converted to the given format. <a href="#afcd66ee0f0a1ad59ad21a4d548f83c21">More...</a><br /></td></tr>
<tr class="separator:afcd66ee0f0a1ad59ad21a4d548f83c21"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef60e1a720c63a3dfee2077bca53c998"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1test_1_1_assets_library.xhtml#aef60e1a720c63a3dfee2077bca53c998">fill</a> (<a class="el" href="classarm__compute_1_1test_1_1_raw_tensor.xhtml">RawTensor</a> &amp;raw, const std::string &amp;name, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> format) const</td></tr>
<tr class="memdesc:aef60e1a720c63a3dfee2077bca53c998"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fills the raw tensor with the content of the specified image converted to the given format. <a href="#aef60e1a720c63a3dfee2077bca53c998">More...</a><br /></td></tr>
<tr class="separator:aef60e1a720c63a3dfee2077bca53c998"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac6c6e6cbcb3d9e0330282f29a6a5e02"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:aac6c6e6cbcb3d9e0330282f29a6a5e02"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1test_1_1_assets_library.xhtml#aac6c6e6cbcb3d9e0330282f29a6a5e02">fill</a> (T &amp;&amp;tensor, const std::string &amp;name, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a> channel) const</td></tr>
<tr class="memdesc:aac6c6e6cbcb3d9e0330282f29a6a5e02"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fills the specified <code>tensor</code> with the content of the specified channel extracted from the given image. <a href="#aac6c6e6cbcb3d9e0330282f29a6a5e02">More...</a><br /></td></tr>
<tr class="separator:aac6c6e6cbcb3d9e0330282f29a6a5e02"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a75fce1141ee0c9b2d40806d8a65bcabf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1test_1_1_assets_library.xhtml#a75fce1141ee0c9b2d40806d8a65bcabf">fill</a> (<a class="el" href="classarm__compute_1_1test_1_1_raw_tensor.xhtml">RawTensor</a> &amp;raw, const std::string &amp;name, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a> channel) const</td></tr>
<tr class="memdesc:a75fce1141ee0c9b2d40806d8a65bcabf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fills the raw tensor with the content of the specified channel extracted from the given image. <a href="#a75fce1141ee0c9b2d40806d8a65bcabf">More...</a><br /></td></tr>
<tr class="separator:a75fce1141ee0c9b2d40806d8a65bcabf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab8fd0d2de26c842de05a6d15b28b518a"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ab8fd0d2de26c842de05a6d15b28b518a"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1test_1_1_assets_library.xhtml#ab8fd0d2de26c842de05a6d15b28b518a">fill</a> (T &amp;&amp;tensor, const std::string &amp;name, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> format, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a> channel) const</td></tr>
<tr class="memdesc:ab8fd0d2de26c842de05a6d15b28b518a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fills the specified <code>tensor</code> with the content of the specified channel extracted from the given image after it has been converted to the given format. <a href="#ab8fd0d2de26c842de05a6d15b28b518a">More...</a><br /></td></tr>
<tr class="separator:ab8fd0d2de26c842de05a6d15b28b518a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a81b1ba22b8f48b5a80f38e7dca0efc66"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1test_1_1_assets_library.xhtml#a81b1ba22b8f48b5a80f38e7dca0efc66">fill</a> (<a class="el" href="classarm__compute_1_1test_1_1_raw_tensor.xhtml">RawTensor</a> &amp;raw, const std::string &amp;name, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> format, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a> channel) const</td></tr>
<tr class="memdesc:a81b1ba22b8f48b5a80f38e7dca0efc66"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fills the raw tensor with the content of the specified channel extracted from the given image after it has been converted to the given format. <a href="#a81b1ba22b8f48b5a80f38e7dca0efc66">More...</a><br /></td></tr>
<tr class="separator:a81b1ba22b8f48b5a80f38e7dca0efc66"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a05e6db8fe58b0d75a552c226477a344e"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a05e6db8fe58b0d75a552c226477a344e"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1test_1_1_assets_library.xhtml#a05e6db8fe58b0d75a552c226477a344e">fill</a> (T &amp;&amp;tensor, <a class="el" href="classarm__compute_1_1test_1_1_raw_tensor.xhtml">RawTensor</a> raw) const</td></tr>
<tr class="memdesc:a05e6db8fe58b0d75a552c226477a344e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fills the specified <code>tensor</code> with the content of the raw tensor. <a href="#a05e6db8fe58b0d75a552c226477a344e">More...</a><br /></td></tr>
<tr class="separator:a05e6db8fe58b0d75a552c226477a344e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6bdf347bae60f8b5b4303776cfc48d68"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a6bdf347bae60f8b5b4303776cfc48d68"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1test_1_1_assets_library.xhtml#a6bdf347bae60f8b5b4303776cfc48d68">fill_tensor_uniform</a> (T &amp;&amp;tensor, std::random_device::result_type seed_offset) const</td></tr>
<tr class="memdesc:a6bdf347bae60f8b5b4303776cfc48d68"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fill a tensor with uniform distribution. <a href="#a6bdf347bae60f8b5b4303776cfc48d68">More...</a><br /></td></tr>
<tr class="separator:a6bdf347bae60f8b5b4303776cfc48d68"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab419bdd4d1b71e56517cbd99428e3740"><td class="memTemplParams" colspan="2">template&lt;typename T , typename D &gt; </td></tr>
<tr class="memitem:ab419bdd4d1b71e56517cbd99428e3740"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1test_1_1_assets_library.xhtml#ab419bdd4d1b71e56517cbd99428e3740">fill_tensor_uniform</a> (T &amp;&amp;tensor, std::random_device::result_type seed_offset, D low, D high) const</td></tr>
<tr class="memdesc:ab419bdd4d1b71e56517cbd99428e3740"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fill a tensor with uniform distribution. <a href="#ab419bdd4d1b71e56517cbd99428e3740">More...</a><br /></td></tr>
<tr class="separator:ab419bdd4d1b71e56517cbd99428e3740"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7fd005cb98921bb25824629d659ea79d"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a7fd005cb98921bb25824629d659ea79d"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1test_1_1_assets_library.xhtml#a7fd005cb98921bb25824629d659ea79d">fill_tensor_uniform_ranged</a> (T &amp;&amp;tensor, std::random_device::result_type seed_offset, const std::vector&lt; <a class="el" href="classarm__compute_1_1test_1_1_assets_library.xhtml#a51733f705cc27b63c4be127eb50639c4">AssetsLibrary::RangePair</a> &gt; &amp;excluded_range_pairs) const</td></tr>
<tr class="memdesc:a7fd005cb98921bb25824629d659ea79d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fill a tensor with uniform distribution across the specified range. <a href="#a7fd005cb98921bb25824629d659ea79d">More...</a><br /></td></tr>
<tr class="separator:a7fd005cb98921bb25824629d659ea79d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5580270336a3055bb7477b227563ccf0"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a5580270336a3055bb7477b227563ccf0"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1test_1_1_assets_library.xhtml#a5580270336a3055bb7477b227563ccf0">fill_layer_data</a> (T &amp;&amp;tensor, std::string name) const</td></tr>
<tr class="memdesc:a5580270336a3055bb7477b227563ccf0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fills the specified <code>tensor</code> with data loaded from .npy (numpy binary) in specified path. <a href="#a5580270336a3055bb7477b227563ccf0">More...</a><br /></td></tr>
<tr class="separator:a5580270336a3055bb7477b227563ccf0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa13fcfba9d7f0433db83255bd1f0638a"><td class="memTemplParams" colspan="2">template&lt;typename T , typename D &gt; </td></tr>
<tr class="memitem:aa13fcfba9d7f0433db83255bd1f0638a"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1test_1_1_assets_library.xhtml#aa13fcfba9d7f0433db83255bd1f0638a">fill_tensor_value</a> (T &amp;&amp;tensor, D value) const</td></tr>
<tr class="memdesc:aa13fcfba9d7f0433db83255bd1f0638a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fill a tensor with a constant value. <a href="#aa13fcfba9d7f0433db83255bd1f0638a">More...</a><br /></td></tr>
<tr class="separator:aa13fcfba9d7f0433db83255bd1f0638a"><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>Factory class to create and fill tensors. </p>
<p>Allows to initialise tensors from loaded images or by specifying the shape explicitly. Furthermore, provides methods to fill tensors with the content of loaded images or with random values. </p>
<p class="definition">Definition at line <a class="el" href="_assets_library_8h_source.xhtml#l00062">62</a> of file <a class="el" href="_assets_library_8h_source.xhtml">AssetsLibrary.h</a>.</p>
</div><h2 class="groupheader">Member Typedef Documentation</h2>
<a id="a51733f705cc27b63c4be127eb50639c4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a51733f705cc27b63c4be127eb50639c4">&#9670;&nbsp;</a></span>RangePair</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="classarm__compute_1_1test_1_1_assets_library.xhtml#a51733f705cc27b63c4be127eb50639c4">RangePair</a> = std::pair&lt;float, float&gt;</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_assets_library_8h_source.xhtml#l00065">65</a> of file <a class="el" href="_assets_library_8h_source.xhtml">AssetsLibrary.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="adb53338108890e6b7354e16a1e9ae716"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adb53338108890e6b7354e16a1e9ae716">&#9670;&nbsp;</a></span>AssetsLibrary()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classarm__compute_1_1test_1_1_assets_library.xhtml">AssetsLibrary</a> </td>
<td>(</td>
<td class="paramtype">std::string&#160;</td>
<td class="paramname"><em>path</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::random_device::result_type&#160;</td>
<td class="paramname"><em>seed</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Initialises the library with a <code>path</code> to the assets directory. </p>
<p>Furthermore, sets the seed for the random generator to <code>seed</code>.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">path</td><td>Path to load assets from. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">seed</td><td>Seed used to initialise the random number generator. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_assets_library_8cpp_source.xhtml#l00249">249</a> of file <a class="el" href="_assets_library_8cpp_source.xhtml">AssetsLibrary.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; : _library_path(std::move(<a class="code" href="classarm__compute_1_1test_1_1_assets_library.xhtml#ac4cb5f95f1d720ef0cc94b74152cf50b">path</a>)),</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; _seed{ <a class="code" href="classarm__compute_1_1test_1_1_assets_library.xhtml#a0a20fa200643e1e3aa4004375d9188f1">seed</a> }</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160;{</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160;}</div><div class="ttc" id="classarm__compute_1_1test_1_1_assets_library_xhtml_ac4cb5f95f1d720ef0cc94b74152cf50b"><div class="ttname"><a href="classarm__compute_1_1test_1_1_assets_library.xhtml#ac4cb5f95f1d720ef0cc94b74152cf50b">arm_compute::test::AssetsLibrary::path</a></div><div class="ttdeci">std::string path() const</div><div class="ttdoc">Path to assets directory used to initialise library.</div><div class="ttdef"><b>Definition:</b> <a href="_assets_library_8cpp_source.xhtml#l00255">AssetsLibrary.cpp:255</a></div></div>
<div class="ttc" id="classarm__compute_1_1test_1_1_assets_library_xhtml_a0a20fa200643e1e3aa4004375d9188f1"><div class="ttname"><a href="classarm__compute_1_1test_1_1_assets_library.xhtml#a0a20fa200643e1e3aa4004375d9188f1">arm_compute::test::AssetsLibrary::seed</a></div><div class="ttdeci">std::random_device::result_type seed() const</div><div class="ttdoc">Seed that is used to fill tensors with random values.</div><div class="ttdef"><b>Definition:</b> <a href="_assets_library_8cpp_source.xhtml#l00260">AssetsLibrary.cpp:260</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_assets_library_8cpp_source.xhtml#l00260">AssetsLibrary::seed()</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="ac186c860429337d470bccc138ed84423"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac186c860429337d470bccc138ed84423">&#9670;&nbsp;</a></span>fill() <span class="overload">[1/10]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void fill </td>
<td>(</td>
<td class="paramtype">T &amp;&amp;&#160;</td>
<td class="paramname"><em>tensor</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">D &amp;&amp;&#160;</td>
<td class="paramname"><em>distribution</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::random_device::result_type&#160;</td>
<td class="paramname"><em>seed_offset</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Fills the specified <code>tensor</code> with random values drawn from <code>distribution</code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in,out]</td><td class="paramname">tensor</td><td>To be filled tensor. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">distribution</td><td>Distribution used to fill the tensor. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">seed_offset</td><td>The offset will be added to the global seed before initialising the random generator.</td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>The <code>distribution</code> has to provide operator(Generator &amp;) which will be used to draw samples. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_assets_library_8h_source.xhtml#l00554">554</a> of file <a class="el" href="_assets_library_8h_source.xhtml">AssetsLibrary.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160;{</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160; <span class="keyword">using</span> ResultType = <span class="keyword">typename</span> std::remove_reference&lt;D&gt;::type::result_type;</div><div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160;</div><div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; std::mt19937 gen(_seed + seed_offset);</div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160;</div><div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; <span class="keyword">const</span> <span class="keywordtype">bool</span> is_nhwc = tensor.data_layout() == <a class="code" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0ad066db54b89b0912e7e7c6da51e2da51">DataLayout::NHWC</a>;</div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160; TensorShape <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>(tensor.shape());</div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160;</div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; <span class="keywordflow">if</span>(is_nhwc)</div><div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160; {</div><div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; <span class="comment">// Ensure that the equivalent tensors will be filled for both data layouts</span></div><div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a21c3e11887f3acf9284ca763372c7da0">permute</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>, <a class="code" href="namespacearm__compute.xhtml#a33e65be485104e2e9e69fca551d6f492">PermutationVector</a>(1U, 2U, 0U));</div><div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; }</div><div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160;</div><div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160; <span class="comment">// Iterate over all elements</span></div><div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160; <span class="keyword">const</span> uint32_t num_elements = tensor.num_elements();</div><div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; <span class="keywordflow">for</span>(uint32_t element_idx = 0; element_idx &lt; num_elements; ++element_idx)</div><div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; {</div><div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; Coordinates <span class="keywordtype">id</span> = <a class="code" href="namespacearm__compute_1_1test.xhtml#a24d8c0391cfa38e78969b6ad97c0ff09">index2coord</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>, element_idx);</div><div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160;</div><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; <span class="keywordflow">if</span>(is_nhwc)</div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; {</div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; <span class="comment">// Write in the correct id for permuted shapes</span></div><div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a21c3e11887f3acf9284ca763372c7da0">permute</a>(<span class="keywordtype">id</span>, <a class="code" href="namespacearm__compute.xhtml#a33e65be485104e2e9e69fca551d6f492">PermutationVector</a>(2U, 0U, 1U));</div><div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160; }</div><div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160;</div><div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160; <span class="comment">// Iterate over all channels</span></div><div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">int</span> channel = 0; channel &lt; tensor.num_channels(); ++channel)</div><div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; {</div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; <span class="keyword">const</span> ResultType value = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a756aeab6b5c217b924c3cc70222c975d">distribution</a>(gen);</div><div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160; ResultType &amp;target_value = reinterpret_cast&lt;ResultType *&gt;(tensor(<span class="keywordtype">id</span>))[channel];</div><div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160;</div><div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160; <a class="code" href="namespacearm__compute_1_1test.xhtml#a1e6934e95738573214c2ce1d6648d116">store_value_with_data_type</a>(&amp;target_value, value, tensor.data_type());</div><div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160; }</div><div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160; }</div><div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160;</div><div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; <a class="code" href="classarm__compute_1_1test_1_1_assets_library.xhtml#ae139c07ceb794ec059efb92aa4c6fd9d">fill_borders_with_garbage</a>(tensor, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a756aeab6b5c217b924c3cc70222c975d">distribution</a>, seed_offset);</div><div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a45cde9abb508c62d67c3bb2b9bf566a5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">arm_compute::test::validation::shape</a></div><div class="ttdeci">shape</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_absolute_difference_8cpp_source.xhtml#l00097">AbsoluteDifference.cpp:97</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a33e65be485104e2e9e69fca551d6f492"><div class="ttname"><a href="namespacearm__compute.xhtml#a33e65be485104e2e9e69fca551d6f492">arm_compute::PermutationVector</a></div><div class="ttdeci">Strides PermutationVector</div><div class="ttdoc">Permutation vector.</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00048">Types.h:48</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a21c3e11887f3acf9284ca763372c7da0"><div class="ttname"><a href="namespacearm__compute.xhtml#a21c3e11887f3acf9284ca763372c7da0">arm_compute::permute</a></div><div class="ttdeci">void permute(Dimensions&lt; T &gt; &amp;dimensions, const PermutationVector &amp;perm)</div><div class="ttdoc">Permutes given Dimensions according to a permutation vector.</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00570">Helpers.h:570</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_xhtml_a1e6934e95738573214c2ce1d6648d116"><div class="ttname"><a href="namespacearm__compute_1_1test.xhtml#a1e6934e95738573214c2ce1d6648d116">arm_compute::test::store_value_with_data_type</a></div><div class="ttdeci">void store_value_with_data_type(void *ptr, T value, DataType data_type)</div><div class="ttdoc">Write the value after casting the pointer according to data_type.</div><div class="ttdef"><b>Definition:</b> <a href="tests_2_utils_8h_source.xhtml#l00352">Utils.h:352</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a756aeab6b5c217b924c3cc70222c975d"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a756aeab6b5c217b924c3cc70222c975d">arm_compute::test::validation::distribution</a></div><div class="ttdeci">std::uniform_real_distribution&lt; float &gt; distribution(-5.f, 5.f)</div></div>
<div class="ttc" id="namespacearm__compute_1_1test_xhtml_a24d8c0391cfa38e78969b6ad97c0ff09"><div class="ttname"><a href="namespacearm__compute_1_1test.xhtml#a24d8c0391cfa38e78969b6ad97c0ff09">arm_compute::test::index2coord</a></div><div class="ttdeci">Coordinates index2coord(const TensorShape &amp;shape, int index)</div><div class="ttdoc">Convert a linear index into n-dimensional coordinates.</div><div class="ttdef"><b>Definition:</b> <a href="tests_2_utils_8h_source.xhtml#l00456">Utils.h:456</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ad1d5cce2d9e9a5d61c243e5c989112e0ad066db54b89b0912e7e7c6da51e2da51"><div class="ttname"><a href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0ad066db54b89b0912e7e7c6da51e2da51">arm_compute::DataLayout::NHWC</a></div><div class="ttdoc">Num samples, height, width, channels.</div></div>
<div class="ttc" id="classarm__compute_1_1test_1_1_assets_library_xhtml_ae139c07ceb794ec059efb92aa4c6fd9d"><div class="ttname"><a href="classarm__compute_1_1test_1_1_assets_library.xhtml#ae139c07ceb794ec059efb92aa4c6fd9d">arm_compute::test::AssetsLibrary::fill_borders_with_garbage</a></div><div class="ttdeci">void fill_borders_with_garbage(T &amp;&amp;tensor, D &amp;&amp;distribution, std::random_device::result_type seed_offset) const</div><div class="ttdoc">Puts garbage values all around the tensor for testing purposes.</div><div class="ttdef"><b>Definition:</b> <a href="_assets_library_8h_source.xhtml#l00475">AssetsLibrary.h:475</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="tests_2_utils_8h_source.xhtml#l00456">arm_compute::test::index2coord()</a>, <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0ad066db54b89b0912e7e7c6da51e2da51">arm_compute::NHWC</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00570">arm_compute::permute()</a>, <a class="el" href="_c_l_2_absolute_difference_8cpp_source.xhtml#l00097">arm_compute::test::validation::shape</a>, and <a class="el" href="_saturate_cast_8h_source.xhtml#l00057">arm_compute::utils::cast::U</a>.</p>
<p class="reference">Referenced by <a class="el" href="_assets_library_8cpp_source.xhtml#l00272">AssetsLibrary::fill()</a>, <a class="el" href="_assets_library_8h_source.xhtml#l00658">AssetsLibrary::fill_tensor_uniform()</a>, and <a class="el" href="_assets_library_8h_source.xhtml#l00748">AssetsLibrary::fill_tensor_uniform_ranged()</a>.</p>
</div>
</div>
<a id="acd6a57c4cd51640fa1804b6bde75e149"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acd6a57c4cd51640fa1804b6bde75e149">&#9670;&nbsp;</a></span>fill() <span class="overload">[2/10]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void fill </td>
<td>(</td>
<td class="paramtype">std::vector&lt; T &gt; &amp;&#160;</td>
<td class="paramname"><em>vec</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">D &amp;&amp;&#160;</td>
<td class="paramname"><em>distribution</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::random_device::result_type&#160;</td>
<td class="paramname"><em>seed_offset</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Fills the specified <code>raw</code> tensor with random values drawn from <code>distribution</code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in,out]</td><td class="paramname">vec</td><td>To be filled vector. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">distribution</td><td>Distribution used to fill the tensor. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">seed_offset</td><td>The offset will be added to the global seed before initialising the random generator.</td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>The <code>distribution</code> has to provide operator(Generator &amp;) which will be used to draw samples. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_assets_library_8h_source.xhtml#l00538">538</a> of file <a class="el" href="_assets_library_8h_source.xhtml">AssetsLibrary.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160;{</div><div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160; <a class="code" href="_error_8h.xhtml#a0b0eb3235749a2909dc5a101afe59a1b">ARM_COMPUTE_ERROR_ON_MSG</a>(vec.empty(), <span class="stringliteral">&quot;Vector must not be empty&quot;</span>);</div><div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160;</div><div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160; <span class="keyword">using</span> ResultType = <span class="keyword">typename</span> std::remove_reference&lt;D&gt;::type::result_type;</div><div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160;</div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; std::mt19937 gen(_seed + seed_offset);</div><div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> i = 0; i &lt; vec.size(); ++i)</div><div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; {</div><div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160; <span class="keyword">const</span> ResultType value = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a756aeab6b5c217b924c3cc70222c975d">distribution</a>(gen);</div><div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160;</div><div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160; vec[i] = value;</div><div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160; }</div><div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a0b0eb3235749a2909dc5a101afe59a1b"><div class="ttname"><a href="_error_8h.xhtml#a0b0eb3235749a2909dc5a101afe59a1b">ARM_COMPUTE_ERROR_ON_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_MSG(cond, msg)</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00456">Error.h:456</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a756aeab6b5c217b924c3cc70222c975d"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a756aeab6b5c217b924c3cc70222c975d">arm_compute::test::validation::distribution</a></div><div class="ttdeci">std::uniform_real_distribution&lt; float &gt; distribution(-5.f, 5.f)</div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00456">ARM_COMPUTE_ERROR_ON_MSG</a>.</p>
</div>
</div>
<a id="a72642223d82ac5d32582d66ba180fdfc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a72642223d82ac5d32582d66ba180fdfc">&#9670;&nbsp;</a></span>fill() <span class="overload">[3/10]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void fill </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classarm__compute_1_1test_1_1_raw_tensor.xhtml">RawTensor</a> &amp;&#160;</td>
<td class="paramname"><em>raw</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">D &amp;&amp;&#160;</td>
<td class="paramname"><em>distribution</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::random_device::result_type&#160;</td>
<td class="paramname"><em>seed_offset</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Fills the specified <code>raw</code> tensor with random values drawn from <code>distribution</code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in,out]</td><td class="paramname">raw</td><td>To be filled raw. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">distribution</td><td>Distribution used to fill the tensor. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">seed_offset</td><td>The offset will be added to the global seed before initialising the random generator.</td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>The <code>distribution</code> has to provide operator(Generator &amp;) which will be used to draw samples. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_assets_library_8h_source.xhtml#l00595">595</a> of file <a class="el" href="_assets_library_8h_source.xhtml">AssetsLibrary.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160;{</div><div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; std::mt19937 gen(_seed + seed_offset);</div><div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160;</div><div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a> = 0; <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a> &lt; raw.size(); <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a> += raw.element_size())</div><div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160; {</div><div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160; <span class="keyword">using</span> ResultType = <span class="keyword">typename</span> std::remove_reference&lt;D&gt;::type::result_type;</div><div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160; <span class="keyword">const</span> ResultType value = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a756aeab6b5c217b924c3cc70222c975d">distribution</a>(gen);</div><div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160;</div><div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160; <a class="code" href="namespacearm__compute_1_1test.xhtml#a1e6934e95738573214c2ce1d6648d116">store_value_with_data_type</a>(raw.data() + <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a>, value, raw.data_type());</div><div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160; }</div><div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160;}</div><div class="ttc" id="src_2core_2_c_l_2cl__kernels_2_helpers_8h_xhtml_a009469e4d9b8fce3b6d5e97d2077827d"><div class="ttname"><a href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a></div><div class="ttdeci">__global uchar * offset(const Image *img, int x, int y)</div><div class="ttdoc">Get the pointer position of a Image.</div><div class="ttdef"><b>Definition:</b> <a href="src_2core_2_c_l_2cl__kernels_2_helpers_8h_source.xhtml#l00510">helpers.h:510</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_xhtml_a1e6934e95738573214c2ce1d6648d116"><div class="ttname"><a href="namespacearm__compute_1_1test.xhtml#a1e6934e95738573214c2ce1d6648d116">arm_compute::test::store_value_with_data_type</a></div><div class="ttdeci">void store_value_with_data_type(void *ptr, T value, DataType data_type)</div><div class="ttdoc">Write the value after casting the pointer according to data_type.</div><div class="ttdef"><b>Definition:</b> <a href="tests_2_utils_8h_source.xhtml#l00352">Utils.h:352</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a756aeab6b5c217b924c3cc70222c975d"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a756aeab6b5c217b924c3cc70222c975d">arm_compute::test::validation::distribution</a></div><div class="ttdeci">std::uniform_real_distribution&lt; float &gt; distribution(-5.f, 5.f)</div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_simple_tensor_8h_source.xhtml#l00327">SimpleTensor&lt; T &gt;::element_size()</a>, <a class="el" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h_source.xhtml#l00510">offset()</a>, and <a class="el" href="_simple_tensor_8h_source.xhtml#l00339">SimpleTensor&lt; T &gt;::size()</a>.</p>
</div>
</div>
<a id="afcd66ee0f0a1ad59ad21a4d548f83c21"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afcd66ee0f0a1ad59ad21a4d548f83c21">&#9670;&nbsp;</a></span>fill() <span class="overload">[4/10]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void fill </td>
<td>(</td>
<td class="paramtype">T &amp;&amp;&#160;</td>
<td class="paramname"><em>tensor</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a>&#160;</td>
<td class="paramname"><em>format</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Fills the specified <code>tensor</code> with the content of the specified image converted to the given format. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in,out]</td><td class="paramname">tensor</td><td>To be filled tensor. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">name</td><td><a class="el" href="struct_image.xhtml" title="Structure to hold Image information.">Image</a> file used to fill the tensor. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Format of the image used to fill the tensor.</td></tr>
</table>
</dd>
</dl>
<dl class="section warning"><dt>Warning</dt><dd>No check is performed that the specified format actually matches the format of the tensor. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_assets_library_8h_source.xhtml#l00609">609</a> of file <a class="el" href="_assets_library_8h_source.xhtml">AssetsLibrary.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160;{</div><div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; <span class="keyword">const</span> RawTensor &amp;raw = <a class="code" href="classarm__compute_1_1test_1_1_assets_library.xhtml#aa6db5c08c0540fb3c0b8292861342a73">get</a>(name, format);</div><div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160;</div><div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a> = 0; <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a> &lt; raw.size(); <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a> += raw.element_size())</div><div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160; {</div><div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; <span class="keyword">const</span> Coordinates <span class="keywordtype">id</span> = <a class="code" href="namespacearm__compute_1_1test.xhtml#a24d8c0391cfa38e78969b6ad97c0ff09">index2coord</a>(raw.shape(), <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a> / raw.element_size());</div><div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160;</div><div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160; <span class="keyword">const</span> <a class="code" href="classarm__compute_1_1test_1_1_simple_tensor.xhtml#afb9ded5f49336ae503bb9f2035ea902b">RawTensor::value_type</a> *<span class="keyword">const</span> raw_ptr = raw.data() + <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a>;</div><div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> out_ptr = static_cast&lt;RawTensor::value_type *&gt;(tensor(<span class="keywordtype">id</span>));</div><div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160; std::copy_n(raw_ptr, raw.element_size(), out_ptr);</div><div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; }</div><div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160;}</div><div class="ttc" id="src_2core_2_c_l_2cl__kernels_2_helpers_8h_xhtml_a009469e4d9b8fce3b6d5e97d2077827d"><div class="ttname"><a href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a></div><div class="ttdeci">__global uchar * offset(const Image *img, int x, int y)</div><div class="ttdoc">Get the pointer position of a Image.</div><div class="ttdef"><b>Definition:</b> <a href="src_2core_2_c_l_2cl__kernels_2_helpers_8h_source.xhtml#l00510">helpers.h:510</a></div></div>
<div class="ttc" id="classarm__compute_1_1test_1_1_assets_library_xhtml_aa6db5c08c0540fb3c0b8292861342a73"><div class="ttname"><a href="classarm__compute_1_1test_1_1_assets_library.xhtml#aa6db5c08c0540fb3c0b8292861342a73">arm_compute::test::AssetsLibrary::get</a></div><div class="ttdeci">const RawTensor &amp; get(const std::string &amp;name) const</div><div class="ttdoc">Provides a constant raw tensor for the specified image.</div><div class="ttdef"><b>Definition:</b> <a href="_assets_library_8cpp_source.xhtml#l00466">AssetsLibrary.cpp:466</a></div></div>
<div class="ttc" id="classarm__compute_1_1test_1_1_simple_tensor_xhtml_afb9ded5f49336ae503bb9f2035ea902b"><div class="ttname"><a href="classarm__compute_1_1test_1_1_simple_tensor.xhtml#afb9ded5f49336ae503bb9f2035ea902b">arm_compute::test::SimpleTensor&lt; uint8_t &gt;::value_type</a></div><div class="ttdeci">uint8_t value_type</div><div class="ttdoc">Tensor value type.</div><div class="ttdef"><b>Definition:</b> <a href="_simple_tensor_8h_source.xhtml#l00104">SimpleTensor.h:104</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_xhtml_a24d8c0391cfa38e78969b6ad97c0ff09"><div class="ttname"><a href="namespacearm__compute_1_1test.xhtml#a24d8c0391cfa38e78969b6ad97c0ff09">arm_compute::test::index2coord</a></div><div class="ttdeci">Coordinates index2coord(const TensorShape &amp;shape, int index)</div><div class="ttdoc">Convert a linear index into n-dimensional coordinates.</div><div class="ttdef"><b>Definition:</b> <a href="tests_2_utils_8h_source.xhtml#l00456">Utils.h:456</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_simple_tensor_8h_source.xhtml#l00419">SimpleTensor&lt; T &gt;::data()</a>, <a class="el" href="_simple_tensor_8h_source.xhtml#l00327">SimpleTensor&lt; T &gt;::element_size()</a>, <a class="el" href="_assets_library_8cpp_source.xhtml#l00466">AssetsLibrary::get()</a>, <a class="el" href="tests_2_utils_8h_source.xhtml#l00456">arm_compute::test::index2coord()</a>, <a class="el" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h_source.xhtml#l00510">offset()</a>, <a class="el" href="_simple_tensor_8h_source.xhtml#l00321">SimpleTensor&lt; T &gt;::shape()</a>, and <a class="el" href="_simple_tensor_8h_source.xhtml#l00339">SimpleTensor&lt; T &gt;::size()</a>.</p>
</div>
</div>
<a id="aef60e1a720c63a3dfee2077bca53c998"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aef60e1a720c63a3dfee2077bca53c998">&#9670;&nbsp;</a></span>fill() <span class="overload">[5/10]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void fill </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classarm__compute_1_1test_1_1_raw_tensor.xhtml">RawTensor</a> &amp;&#160;</td>
<td class="paramname"><em>raw</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a>&#160;</td>
<td class="paramname"><em>format</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Fills the raw tensor with the content of the specified image converted to the given format. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in,out]</td><td class="paramname">raw</td><td>To be filled raw tensor. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">name</td><td><a class="el" href="struct_image.xhtml" title="Structure to hold Image information.">Image</a> file used to fill the tensor. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Format of the image used to fill the tensor.</td></tr>
</table>
</dd>
</dl>
<dl class="section warning"><dt>Warning</dt><dd>No check is performed that the specified format actually matches the format of the tensor. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_assets_library_8cpp_source.xhtml#l00265">265</a> of file <a class="el" href="_assets_library_8cpp_source.xhtml">AssetsLibrary.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160;{</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <span class="comment">//FIXME: Should be done by swapping cached buffers</span></div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <span class="keyword">const</span> RawTensor &amp;<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a989ab3e96426615bb98e04e0235088ca">src</a> = <a class="code" href="classarm__compute_1_1test_1_1_assets_library.xhtml#aa6db5c08c0540fb3c0b8292861342a73">get</a>(name, format);</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; std::copy_n(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a989ab3e96426615bb98e04e0235088ca">src</a>.data(), raw.size(), raw.data());</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160;}</div><div class="ttc" id="classarm__compute_1_1test_1_1_assets_library_xhtml_aa6db5c08c0540fb3c0b8292861342a73"><div class="ttname"><a href="classarm__compute_1_1test_1_1_assets_library.xhtml#aa6db5c08c0540fb3c0b8292861342a73">arm_compute::test::AssetsLibrary::get</a></div><div class="ttdeci">const RawTensor &amp; get(const std::string &amp;name) const</div><div class="ttdoc">Provides a constant raw tensor for the specified image.</div><div class="ttdef"><b>Definition:</b> <a href="_assets_library_8cpp_source.xhtml#l00466">AssetsLibrary.cpp:466</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a989ab3e96426615bb98e04e0235088ca"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a989ab3e96426615bb98e04e0235088ca">arm_compute::test::validation::src</a></div><div class="ttdeci">cast configure &amp; src</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_cast_8cpp_source.xhtml#l00169">Cast.cpp:169</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_simple_tensor_8h_source.xhtml#l00419">SimpleTensor&lt; T &gt;::data()</a>, <a class="el" href="_assets_library_8cpp_source.xhtml#l00466">AssetsLibrary::get()</a>, <a class="el" href="_simple_tensor_8h_source.xhtml#l00339">SimpleTensor&lt; T &gt;::size()</a>, and <a class="el" href="_c_l_2_cast_8cpp_source.xhtml#l00169">arm_compute::test::validation::src</a>.</p>
</div>
</div>
<a id="aac6c6e6cbcb3d9e0330282f29a6a5e02"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aac6c6e6cbcb3d9e0330282f29a6a5e02">&#9670;&nbsp;</a></span>fill() <span class="overload">[6/10]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void fill </td>
<td>(</td>
<td class="paramtype">T &amp;&amp;&#160;</td>
<td class="paramname"><em>tensor</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a>&#160;</td>
<td class="paramname"><em>channel</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Fills the specified <code>tensor</code> with the content of the specified channel extracted from the given image. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in,out]</td><td class="paramname">tensor</td><td>To be filled tensor. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">name</td><td><a class="el" href="struct_image.xhtml" title="Structure to hold Image information.">Image</a> file used to fill the tensor. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">channel</td><td>Channel of the image used to fill the tensor.</td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>The channel has to be unambiguous so that the format can be inferred automatically.</dd></dl>
<dl class="section warning"><dt>Warning</dt><dd>No check is performed that the specified format actually matches the format of the tensor. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_assets_library_8h_source.xhtml#l00624">624</a> of file <a class="el" href="_assets_library_8h_source.xhtml">AssetsLibrary.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160;{</div><div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160; <a class="code" href="classarm__compute_1_1test_1_1_assets_library.xhtml#ac186c860429337d470bccc138ed84423">fill</a>(std::forward&lt;T&gt;(tensor), name, <a class="code" href="namespacearm__compute_1_1test.xhtml#aa337ab76176f3c4193642ac6de3a61cf">get_format_for_channel</a>(channel), channel);</div><div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_xhtml_aa337ab76176f3c4193642ac6de3a61cf"><div class="ttname"><a href="namespacearm__compute_1_1test.xhtml#aa337ab76176f3c4193642ac6de3a61cf">arm_compute::test::get_format_for_channel</a></div><div class="ttdeci">Format get_format_for_channel(Channel channel)</div><div class="ttdoc">Look up the format corresponding to a channel.</div><div class="ttdef"><b>Definition:</b> <a href="tests_2_utils_8h_source.xhtml#l00150">Utils.h:150</a></div></div>
<div class="ttc" id="classarm__compute_1_1test_1_1_assets_library_xhtml_ac186c860429337d470bccc138ed84423"><div class="ttname"><a href="classarm__compute_1_1test_1_1_assets_library.xhtml#ac186c860429337d470bccc138ed84423">arm_compute::test::AssetsLibrary::fill</a></div><div class="ttdeci">void fill(T &amp;&amp;tensor, D &amp;&amp;distribution, std::random_device::result_type seed_offset) const</div><div class="ttdoc">Fills the specified tensor with random values drawn from distribution.</div><div class="ttdef"><b>Definition:</b> <a href="_assets_library_8h_source.xhtml#l00554">AssetsLibrary.h:554</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_assets_library_8h_source.xhtml#l00554">AssetsLibrary::fill()</a>, and <a class="el" href="tests_2_utils_8h_source.xhtml#l00150">arm_compute::test::get_format_for_channel()</a>.</p>
</div>
</div>
<a id="a75fce1141ee0c9b2d40806d8a65bcabf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a75fce1141ee0c9b2d40806d8a65bcabf">&#9670;&nbsp;</a></span>fill() <span class="overload">[7/10]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void fill </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classarm__compute_1_1test_1_1_raw_tensor.xhtml">RawTensor</a> &amp;&#160;</td>
<td class="paramname"><em>raw</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a>&#160;</td>
<td class="paramname"><em>channel</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Fills the raw tensor with the content of the specified channel extracted from the given image. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in,out]</td><td class="paramname">raw</td><td>To be filled raw tensor. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">name</td><td><a class="el" href="struct_image.xhtml" title="Structure to hold Image information.">Image</a> file used to fill the tensor. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">channel</td><td>Channel of the image used to fill the tensor.</td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>The channel has to be unambiguous so that the format can be inferred automatically.</dd></dl>
<dl class="section warning"><dt>Warning</dt><dd>No check is performed that the specified format actually matches the format of the tensor. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_assets_library_8cpp_source.xhtml#l00272">272</a> of file <a class="el" href="_assets_library_8cpp_source.xhtml">AssetsLibrary.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160;{</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; <a class="code" href="classarm__compute_1_1test_1_1_assets_library.xhtml#ac186c860429337d470bccc138ed84423">fill</a>(raw, name, <a class="code" href="namespacearm__compute_1_1test.xhtml#aa337ab76176f3c4193642ac6de3a61cf">get_format_for_channel</a>(channel), channel);</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_xhtml_aa337ab76176f3c4193642ac6de3a61cf"><div class="ttname"><a href="namespacearm__compute_1_1test.xhtml#aa337ab76176f3c4193642ac6de3a61cf">arm_compute::test::get_format_for_channel</a></div><div class="ttdeci">Format get_format_for_channel(Channel channel)</div><div class="ttdoc">Look up the format corresponding to a channel.</div><div class="ttdef"><b>Definition:</b> <a href="tests_2_utils_8h_source.xhtml#l00150">Utils.h:150</a></div></div>
<div class="ttc" id="classarm__compute_1_1test_1_1_assets_library_xhtml_ac186c860429337d470bccc138ed84423"><div class="ttname"><a href="classarm__compute_1_1test_1_1_assets_library.xhtml#ac186c860429337d470bccc138ed84423">arm_compute::test::AssetsLibrary::fill</a></div><div class="ttdeci">void fill(T &amp;&amp;tensor, D &amp;&amp;distribution, std::random_device::result_type seed_offset) const</div><div class="ttdoc">Fills the specified tensor with random values drawn from distribution.</div><div class="ttdef"><b>Definition:</b> <a href="_assets_library_8h_source.xhtml#l00554">AssetsLibrary.h:554</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_assets_library_8h_source.xhtml#l00554">AssetsLibrary::fill()</a>, and <a class="el" href="tests_2_utils_8h_source.xhtml#l00150">arm_compute::test::get_format_for_channel()</a>.</p>
</div>
</div>
<a id="ab8fd0d2de26c842de05a6d15b28b518a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab8fd0d2de26c842de05a6d15b28b518a">&#9670;&nbsp;</a></span>fill() <span class="overload">[8/10]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void fill </td>
<td>(</td>
<td class="paramtype">T &amp;&amp;&#160;</td>
<td class="paramname"><em>tensor</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a>&#160;</td>
<td class="paramname"><em>format</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a>&#160;</td>
<td class="paramname"><em>channel</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Fills the specified <code>tensor</code> with the content of the specified channel extracted from the given image after it has been converted to the given format. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in,out]</td><td class="paramname">tensor</td><td>To be filled tensor. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">name</td><td><a class="el" href="struct_image.xhtml" title="Structure to hold Image information.">Image</a> file used to fill the tensor. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Format of the image used to fill the tensor. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">channel</td><td>Channel of the image used to fill the tensor.</td></tr>
</table>
</dd>
</dl>
<dl class="section warning"><dt>Warning</dt><dd>No check is performed that the specified format actually matches the format of the tensor. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_assets_library_8h_source.xhtml#l00630">630</a> of file <a class="el" href="_assets_library_8h_source.xhtml">AssetsLibrary.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160;{</div><div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160; <span class="keyword">const</span> RawTensor &amp;raw = <a class="code" href="classarm__compute_1_1test_1_1_assets_library.xhtml#aa6db5c08c0540fb3c0b8292861342a73">get</a>(name, format, channel);</div><div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160;</div><div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a> = 0; <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a> &lt; raw.size(); <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a> += raw.element_size())</div><div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160; {</div><div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160; <span class="keyword">const</span> Coordinates <span class="keywordtype">id</span> = <a class="code" href="namespacearm__compute_1_1test.xhtml#a24d8c0391cfa38e78969b6ad97c0ff09">index2coord</a>(raw.shape(), <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a> / raw.element_size());</div><div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160;</div><div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160; <span class="keyword">const</span> <a class="code" href="classarm__compute_1_1test_1_1_simple_tensor.xhtml#afb9ded5f49336ae503bb9f2035ea902b">RawTensor::value_type</a> *<span class="keyword">const</span> raw_ptr = raw.data() + <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a>;</div><div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> out_ptr = static_cast&lt;RawTensor::value_type *&gt;(tensor(<span class="keywordtype">id</span>));</div><div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160; std::copy_n(raw_ptr, raw.element_size(), out_ptr);</div><div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; }</div><div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160;}</div><div class="ttc" id="src_2core_2_c_l_2cl__kernels_2_helpers_8h_xhtml_a009469e4d9b8fce3b6d5e97d2077827d"><div class="ttname"><a href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a></div><div class="ttdeci">__global uchar * offset(const Image *img, int x, int y)</div><div class="ttdoc">Get the pointer position of a Image.</div><div class="ttdef"><b>Definition:</b> <a href="src_2core_2_c_l_2cl__kernels_2_helpers_8h_source.xhtml#l00510">helpers.h:510</a></div></div>
<div class="ttc" id="classarm__compute_1_1test_1_1_assets_library_xhtml_aa6db5c08c0540fb3c0b8292861342a73"><div class="ttname"><a href="classarm__compute_1_1test_1_1_assets_library.xhtml#aa6db5c08c0540fb3c0b8292861342a73">arm_compute::test::AssetsLibrary::get</a></div><div class="ttdeci">const RawTensor &amp; get(const std::string &amp;name) const</div><div class="ttdoc">Provides a constant raw tensor for the specified image.</div><div class="ttdef"><b>Definition:</b> <a href="_assets_library_8cpp_source.xhtml#l00466">AssetsLibrary.cpp:466</a></div></div>
<div class="ttc" id="classarm__compute_1_1test_1_1_simple_tensor_xhtml_afb9ded5f49336ae503bb9f2035ea902b"><div class="ttname"><a href="classarm__compute_1_1test_1_1_simple_tensor.xhtml#afb9ded5f49336ae503bb9f2035ea902b">arm_compute::test::SimpleTensor&lt; uint8_t &gt;::value_type</a></div><div class="ttdeci">uint8_t value_type</div><div class="ttdoc">Tensor value type.</div><div class="ttdef"><b>Definition:</b> <a href="_simple_tensor_8h_source.xhtml#l00104">SimpleTensor.h:104</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_xhtml_a24d8c0391cfa38e78969b6ad97c0ff09"><div class="ttname"><a href="namespacearm__compute_1_1test.xhtml#a24d8c0391cfa38e78969b6ad97c0ff09">arm_compute::test::index2coord</a></div><div class="ttdeci">Coordinates index2coord(const TensorShape &amp;shape, int index)</div><div class="ttdoc">Convert a linear index into n-dimensional coordinates.</div><div class="ttdef"><b>Definition:</b> <a href="tests_2_utils_8h_source.xhtml#l00456">Utils.h:456</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_simple_tensor_8h_source.xhtml#l00419">SimpleTensor&lt; T &gt;::data()</a>, <a class="el" href="_simple_tensor_8h_source.xhtml#l00327">SimpleTensor&lt; T &gt;::element_size()</a>, <a class="el" href="_assets_library_8cpp_source.xhtml#l00466">AssetsLibrary::get()</a>, <a class="el" href="tests_2_utils_8h_source.xhtml#l00456">arm_compute::test::index2coord()</a>, <a class="el" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h_source.xhtml#l00510">offset()</a>, <a class="el" href="_simple_tensor_8h_source.xhtml#l00321">SimpleTensor&lt; T &gt;::shape()</a>, and <a class="el" href="_simple_tensor_8h_source.xhtml#l00339">SimpleTensor&lt; T &gt;::size()</a>.</p>
</div>
</div>
<a id="a81b1ba22b8f48b5a80f38e7dca0efc66"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a81b1ba22b8f48b5a80f38e7dca0efc66">&#9670;&nbsp;</a></span>fill() <span class="overload">[9/10]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void fill </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classarm__compute_1_1test_1_1_raw_tensor.xhtml">RawTensor</a> &amp;&#160;</td>
<td class="paramname"><em>raw</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a>&#160;</td>
<td class="paramname"><em>format</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a>&#160;</td>
<td class="paramname"><em>channel</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Fills the raw tensor with the content of the specified channel extracted from the given image after it has been converted to the given format. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in,out]</td><td class="paramname">raw</td><td>To be filled raw tensor. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">name</td><td><a class="el" href="struct_image.xhtml" title="Structure to hold Image information.">Image</a> file used to fill the tensor. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Format of the image used to fill the tensor. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">channel</td><td>Channel of the image used to fill the tensor.</td></tr>
</table>
</dd>
</dl>
<dl class="section warning"><dt>Warning</dt><dd>No check is performed that the specified format actually matches the format of the tensor. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_assets_library_8cpp_source.xhtml#l00277">277</a> of file <a class="el" href="_assets_library_8cpp_source.xhtml">AssetsLibrary.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160;{</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <span class="keyword">const</span> RawTensor &amp;<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a989ab3e96426615bb98e04e0235088ca">src</a> = <a class="code" href="classarm__compute_1_1test_1_1_assets_library.xhtml#aa6db5c08c0540fb3c0b8292861342a73">get</a>(name, format, channel);</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; std::copy_n(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a989ab3e96426615bb98e04e0235088ca">src</a>.data(), raw.size(), raw.data());</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160;}</div><div class="ttc" id="classarm__compute_1_1test_1_1_assets_library_xhtml_aa6db5c08c0540fb3c0b8292861342a73"><div class="ttname"><a href="classarm__compute_1_1test_1_1_assets_library.xhtml#aa6db5c08c0540fb3c0b8292861342a73">arm_compute::test::AssetsLibrary::get</a></div><div class="ttdeci">const RawTensor &amp; get(const std::string &amp;name) const</div><div class="ttdoc">Provides a constant raw tensor for the specified image.</div><div class="ttdef"><b>Definition:</b> <a href="_assets_library_8cpp_source.xhtml#l00466">AssetsLibrary.cpp:466</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a989ab3e96426615bb98e04e0235088ca"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a989ab3e96426615bb98e04e0235088ca">arm_compute::test::validation::src</a></div><div class="ttdeci">cast configure &amp; src</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_cast_8cpp_source.xhtml#l00169">Cast.cpp:169</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_simple_tensor_8h_source.xhtml#l00419">SimpleTensor&lt; T &gt;::data()</a>, <a class="el" href="_assets_library_8cpp_source.xhtml#l00466">AssetsLibrary::get()</a>, <a class="el" href="_simple_tensor_8h_source.xhtml#l00339">SimpleTensor&lt; T &gt;::size()</a>, and <a class="el" href="_c_l_2_cast_8cpp_source.xhtml#l00169">arm_compute::test::validation::src</a>.</p>
</div>
</div>
<a id="a05e6db8fe58b0d75a552c226477a344e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a05e6db8fe58b0d75a552c226477a344e">&#9670;&nbsp;</a></span>fill() <span class="overload">[10/10]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void fill </td>
<td>(</td>
<td class="paramtype">T &amp;&amp;&#160;</td>
<td class="paramname"><em>tensor</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classarm__compute_1_1test_1_1_raw_tensor.xhtml">RawTensor</a>&#160;</td>
<td class="paramname"><em>raw</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Fills the specified <code>tensor</code> with the content of the raw tensor. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in,out]</td><td class="paramname">tensor</td><td>To be filled tensor. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">raw</td><td>Raw tensor used to fill the tensor.</td></tr>
</table>
</dd>
</dl>
<dl class="section warning"><dt>Warning</dt><dd>No check is performed that the specified format actually matches the format of the tensor. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_assets_library_8h_source.xhtml#l00645">645</a> of file <a class="el" href="_assets_library_8h_source.xhtml">AssetsLibrary.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160;{</div><div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a> = 0; <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a> &lt; raw.size(); <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a> += raw.element_size())</div><div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160; {</div><div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160; <span class="keyword">const</span> Coordinates <span class="keywordtype">id</span> = <a class="code" href="namespacearm__compute_1_1test.xhtml#a24d8c0391cfa38e78969b6ad97c0ff09">index2coord</a>(raw.shape(), <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a> / raw.element_size());</div><div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160;</div><div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160; <span class="keyword">const</span> <a class="code" href="classarm__compute_1_1test_1_1_simple_tensor.xhtml#afb9ded5f49336ae503bb9f2035ea902b">RawTensor::value_type</a> *<span class="keyword">const</span> raw_ptr = raw.data() + <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a>;</div><div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> out_ptr = static_cast&lt;RawTensor::value_type *&gt;(tensor(<span class="keywordtype">id</span>));</div><div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160; std::copy_n(raw_ptr, raw.element_size(), out_ptr);</div><div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160; }</div><div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160;}</div><div class="ttc" id="src_2core_2_c_l_2cl__kernels_2_helpers_8h_xhtml_a009469e4d9b8fce3b6d5e97d2077827d"><div class="ttname"><a href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a></div><div class="ttdeci">__global uchar * offset(const Image *img, int x, int y)</div><div class="ttdoc">Get the pointer position of a Image.</div><div class="ttdef"><b>Definition:</b> <a href="src_2core_2_c_l_2cl__kernels_2_helpers_8h_source.xhtml#l00510">helpers.h:510</a></div></div>
<div class="ttc" id="classarm__compute_1_1test_1_1_simple_tensor_xhtml_afb9ded5f49336ae503bb9f2035ea902b"><div class="ttname"><a href="classarm__compute_1_1test_1_1_simple_tensor.xhtml#afb9ded5f49336ae503bb9f2035ea902b">arm_compute::test::SimpleTensor&lt; uint8_t &gt;::value_type</a></div><div class="ttdeci">uint8_t value_type</div><div class="ttdoc">Tensor value type.</div><div class="ttdef"><b>Definition:</b> <a href="_simple_tensor_8h_source.xhtml#l00104">SimpleTensor.h:104</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_xhtml_a24d8c0391cfa38e78969b6ad97c0ff09"><div class="ttname"><a href="namespacearm__compute_1_1test.xhtml#a24d8c0391cfa38e78969b6ad97c0ff09">arm_compute::test::index2coord</a></div><div class="ttdeci">Coordinates index2coord(const TensorShape &amp;shape, int index)</div><div class="ttdoc">Convert a linear index into n-dimensional coordinates.</div><div class="ttdef"><b>Definition:</b> <a href="tests_2_utils_8h_source.xhtml#l00456">Utils.h:456</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_simple_tensor_8h_source.xhtml#l00419">SimpleTensor&lt; T &gt;::data()</a>, <a class="el" href="_simple_tensor_8h_source.xhtml#l00327">SimpleTensor&lt; T &gt;::element_size()</a>, <a class="el" href="tests_2_utils_8h_source.xhtml#l00456">arm_compute::test::index2coord()</a>, <a class="el" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h_source.xhtml#l00510">offset()</a>, <a class="el" href="_simple_tensor_8h_source.xhtml#l00321">SimpleTensor&lt; T &gt;::shape()</a>, and <a class="el" href="_simple_tensor_8h_source.xhtml#l00339">SimpleTensor&lt; T &gt;::size()</a>.</p>
</div>
</div>
<a id="ae139c07ceb794ec059efb92aa4c6fd9d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae139c07ceb794ec059efb92aa4c6fd9d">&#9670;&nbsp;</a></span>fill_borders_with_garbage()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void fill_borders_with_garbage </td>
<td>(</td>
<td class="paramtype">T &amp;&amp;&#160;</td>
<td class="paramname"><em>tensor</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">D &amp;&amp;&#160;</td>
<td class="paramname"><em>distribution</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::random_device::result_type&#160;</td>
<td class="paramname"><em>seed_offset</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Puts garbage values all around the tensor for testing purposes. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in,out]</td><td class="paramname">tensor</td><td>To be filled tensor. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">distribution</td><td>Distribution used to fill the tensor's surroundings. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">seed_offset</td><td>The offset will be added to the global seed before initialising the random generator. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_assets_library_8h_source.xhtml#l00475">475</a> of file <a class="el" href="_assets_library_8h_source.xhtml">AssetsLibrary.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160;{</div><div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4467b302fc9ec312c40580336ab783da">PaddingSize</a> padding_size = tensor.padding();</div><div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160;</div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; Window window;</div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; window.set(0, Window::Dimension(-padding_size.left, tensor.shape()[0] + padding_size.right, 1));</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; <span class="keywordflow">if</span>(tensor.shape().num_dimensions() &gt; 1)</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; {</div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; window.set(1, Window::Dimension(-padding_size.top, tensor.shape()[1] + padding_size.bottom, 1));</div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160; }</div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160;</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; std::mt19937 gen(_seed + seed_offset);</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160;</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">execute_window_loop</a>(window, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; {</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; TensorShape <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a> = tensor.shape();</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160;</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; <span class="comment">// If outside of valid region</span></div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; <span class="keywordflow">if</span>(<span class="keywordtype">id</span>.x() &lt; 0 || <span class="keywordtype">id</span>.x() &gt;= static_cast&lt;int&gt;(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>.x()) || <span class="keywordtype">id</span>.y() &lt; 0 || <span class="keywordtype">id</span>.y() &gt;= static_cast&lt;int&gt;(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>.y()))</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; {</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; <span class="keyword">using</span> ResultType = <span class="keyword">typename</span> std::remove_reference&lt;D&gt;::type::result_type;</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; <span class="keyword">const</span> ResultType value = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a756aeab6b5c217b924c3cc70222c975d">distribution</a>(gen);</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; <span class="keywordtype">void</span> *<span class="keyword">const</span> out_ptr = tensor(<span class="keywordtype">id</span>);</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; <a class="code" href="namespacearm__compute_1_1test.xhtml#a1e6934e95738573214c2ce1d6648d116">store_value_with_data_type</a>(out_ptr, value, tensor.data_type());</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; }</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; });</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a45cde9abb508c62d67c3bb2b9bf566a5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">arm_compute::test::validation::shape</a></div><div class="ttdeci">shape</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_absolute_difference_8cpp_source.xhtml#l00097">AbsoluteDifference.cpp:97</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_xhtml_a1e6934e95738573214c2ce1d6648d116"><div class="ttname"><a href="namespacearm__compute_1_1test.xhtml#a1e6934e95738573214c2ce1d6648d116">arm_compute::test::store_value_with_data_type</a></div><div class="ttdeci">void store_value_with_data_type(void *ptr, T value, DataType data_type)</div><div class="ttdoc">Write the value after casting the pointer according to data_type.</div><div class="ttdef"><b>Definition:</b> <a href="tests_2_utils_8h_source.xhtml#l00352">Utils.h:352</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a756aeab6b5c217b924c3cc70222c975d"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a756aeab6b5c217b924c3cc70222c975d">arm_compute::test::validation::distribution</a></div><div class="ttdeci">std::uniform_real_distribution&lt; float &gt; distribution(-5.f, 5.f)</div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a4467b302fc9ec312c40580336ab783da"><div class="ttname"><a href="namespacearm__compute.xhtml#a4467b302fc9ec312c40580336ab783da">arm_compute::PaddingSize</a></div><div class="ttdeci">BorderSize PaddingSize</div><div class="ttdoc">Container for 2D padding size.</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00356">Types.h:356</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a5002bf7ec46d52971f9526e94172cfee"><div class="ttname"><a href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;... iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00123">Helpers.inl:123</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00351">BorderSize::bottom</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00123">arm_compute::execute_window_loop()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00352">BorderSize::left</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00350">BorderSize::right</a>, <a class="el" href="_window_8inl_source.xhtml#l00049">Window::set()</a>, <a class="el" href="_c_l_2_absolute_difference_8cpp_source.xhtml#l00097">arm_compute::test::validation::shape</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00349">BorderSize::top</a>.</p>
<p class="reference">Referenced by <a class="el" href="_assets_library_8h_source.xhtml#l00504">AssetsLibrary::fill_boxes()</a>.</p>
</div>
</div>
<a id="a6327330393eee13d12234267ab5d19d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6327330393eee13d12234267ab5d19d4">&#9670;&nbsp;</a></span>fill_boxes()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void fill_boxes </td>
<td>(</td>
<td class="paramtype">T &amp;&amp;&#160;</td>
<td class="paramname"><em>tensor</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">D &amp;&amp;&#160;</td>
<td class="paramname"><em>distribution</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::random_device::result_type&#160;</td>
<td class="paramname"><em>seed_offset</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_assets_library_8h_source.xhtml#l00504">504</a> of file <a class="el" href="_assets_library_8h_source.xhtml">AssetsLibrary.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160;{</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; <span class="keyword">using</span> ResultType = <span class="keyword">typename</span> std::remove_reference&lt;D&gt;::type::result_type;</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; std::mt19937 gen(_seed + seed_offset);</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; TensorShape <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>(tensor.shape());</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; <span class="keyword">const</span> uint32_t num_boxes = tensor.num_elements() / 4;</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; <span class="comment">// Iterate over all elements</span></div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; std::uniform_real_distribution&lt;&gt; size_dist(0.f, 1.f);</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; <span class="keywordflow">for</span>(uint32_t element_idx = 0; element_idx &lt; num_boxes * 4; element_idx += 4)</div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; {</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; <span class="keyword">const</span> ResultType delta = size_dist(gen);</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; <span class="keyword">const</span> ResultType <a class="code" href="namespacearm__compute_1_1quantization.xhtml#a552dc3787d7ea1675f3e4e8993501d58">epsilon</a> = size_dist(gen);</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; <span class="keyword">const</span> ResultType left = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a756aeab6b5c217b924c3cc70222c975d">distribution</a>(gen);</div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; <span class="keyword">const</span> ResultType top = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a756aeab6b5c217b924c3cc70222c975d">distribution</a>(gen);</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; <span class="keyword">const</span> ResultType right = left + delta;</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; <span class="keyword">const</span> ResultType bottom = top + <a class="code" href="namespacearm__compute_1_1quantization.xhtml#a552dc3787d7ea1675f3e4e8993501d58">epsilon</a>;</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; <span class="keyword">const</span> std::tuple&lt;ResultType, ResultType, ResultType, ResultType&gt; box(left, top, right, bottom);</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; Coordinates x1 = <a class="code" href="namespacearm__compute_1_1test.xhtml#a24d8c0391cfa38e78969b6ad97c0ff09">index2coord</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>, element_idx);</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; Coordinates y1 = <a class="code" href="namespacearm__compute_1_1test.xhtml#a24d8c0391cfa38e78969b6ad97c0ff09">index2coord</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>, element_idx + 1);</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; Coordinates x2 = <a class="code" href="namespacearm__compute_1_1test.xhtml#a24d8c0391cfa38e78969b6ad97c0ff09">index2coord</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>, element_idx + 2);</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; Coordinates y2 = <a class="code" href="namespacearm__compute_1_1test.xhtml#a24d8c0391cfa38e78969b6ad97c0ff09">index2coord</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>, element_idx + 3);</div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; ResultType &amp;target_value_x1 = reinterpret_cast&lt;ResultType *&gt;(tensor(x1))[0];</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; ResultType &amp;target_value_y1 = reinterpret_cast&lt;ResultType *&gt;(tensor(y1))[0];</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; ResultType &amp;target_value_x2 = reinterpret_cast&lt;ResultType *&gt;(tensor(x2))[0];</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; ResultType &amp;target_value_y2 = reinterpret_cast&lt;ResultType *&gt;(tensor(y2))[0];</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; <a class="code" href="namespacearm__compute_1_1test.xhtml#a1e6934e95738573214c2ce1d6648d116">store_value_with_data_type</a>(&amp;target_value_x1, std::get&lt;0&gt;(box), tensor.data_type());</div><div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160; <a class="code" href="namespacearm__compute_1_1test.xhtml#a1e6934e95738573214c2ce1d6648d116">store_value_with_data_type</a>(&amp;target_value_y1, std::get&lt;1&gt;(box), tensor.data_type());</div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160; <a class="code" href="namespacearm__compute_1_1test.xhtml#a1e6934e95738573214c2ce1d6648d116">store_value_with_data_type</a>(&amp;target_value_x2, std::get&lt;2&gt;(box), tensor.data_type());</div><div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160; <a class="code" href="namespacearm__compute_1_1test.xhtml#a1e6934e95738573214c2ce1d6648d116">store_value_with_data_type</a>(&amp;target_value_y2, std::get&lt;3&gt;(box), tensor.data_type());</div><div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; }</div><div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; <a class="code" href="classarm__compute_1_1test_1_1_assets_library.xhtml#ae139c07ceb794ec059efb92aa4c6fd9d">fill_borders_with_garbage</a>(tensor, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a756aeab6b5c217b924c3cc70222c975d">distribution</a>, seed_offset);</div><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a45cde9abb508c62d67c3bb2b9bf566a5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">arm_compute::test::validation::shape</a></div><div class="ttdeci">shape</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_absolute_difference_8cpp_source.xhtml#l00097">AbsoluteDifference.cpp:97</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_xhtml_a1e6934e95738573214c2ce1d6648d116"><div class="ttname"><a href="namespacearm__compute_1_1test.xhtml#a1e6934e95738573214c2ce1d6648d116">arm_compute::test::store_value_with_data_type</a></div><div class="ttdeci">void store_value_with_data_type(void *ptr, T value, DataType data_type)</div><div class="ttdoc">Write the value after casting the pointer according to data_type.</div><div class="ttdef"><b>Definition:</b> <a href="tests_2_utils_8h_source.xhtml#l00352">Utils.h:352</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a756aeab6b5c217b924c3cc70222c975d"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a756aeab6b5c217b924c3cc70222c975d">arm_compute::test::validation::distribution</a></div><div class="ttdeci">std::uniform_real_distribution&lt; float &gt; distribution(-5.f, 5.f)</div></div>
<div class="ttc" id="namespacearm__compute_1_1test_xhtml_a24d8c0391cfa38e78969b6ad97c0ff09"><div class="ttname"><a href="namespacearm__compute_1_1test.xhtml#a24d8c0391cfa38e78969b6ad97c0ff09">arm_compute::test::index2coord</a></div><div class="ttdeci">Coordinates index2coord(const TensorShape &amp;shape, int index)</div><div class="ttdoc">Convert a linear index into n-dimensional coordinates.</div><div class="ttdef"><b>Definition:</b> <a href="tests_2_utils_8h_source.xhtml#l00456">Utils.h:456</a></div></div>
<div class="ttc" id="classarm__compute_1_1test_1_1_assets_library_xhtml_ae139c07ceb794ec059efb92aa4c6fd9d"><div class="ttname"><a href="classarm__compute_1_1test_1_1_assets_library.xhtml#ae139c07ceb794ec059efb92aa4c6fd9d">arm_compute::test::AssetsLibrary::fill_borders_with_garbage</a></div><div class="ttdeci">void fill_borders_with_garbage(T &amp;&amp;tensor, D &amp;&amp;distribution, std::random_device::result_type seed_offset) const</div><div class="ttdoc">Puts garbage values all around the tensor for testing purposes.</div><div class="ttdef"><b>Definition:</b> <a href="_assets_library_8h_source.xhtml#l00475">AssetsLibrary.h:475</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1quantization_xhtml_a552dc3787d7ea1675f3e4e8993501d58"><div class="ttname"><a href="namespacearm__compute_1_1quantization.xhtml#a552dc3787d7ea1675f3e4e8993501d58">arm_compute::quantization::epsilon</a></div><div class="ttdeci">constexpr float epsilon</div><div class="ttdef"><b>Definition:</b> <a href="_asymm_helpers_8cpp_source.xhtml#l00036">AsymmHelpers.cpp:36</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="namespacearm__compute_1_1test_1_1validation.xhtml#a756aeab6b5c217b924c3cc70222c975d">arm_compute::test::validation::distribution()</a>, <a class="el" href="_asymm_helpers_8cpp_source.xhtml#l00036">arm_compute::quantization::epsilon</a>, <a class="el" href="_assets_library_8h_source.xhtml#l00475">AssetsLibrary::fill_borders_with_garbage()</a>, <a class="el" href="tests_2_utils_8h_source.xhtml#l00456">arm_compute::test::index2coord()</a>, <a class="el" href="_c_l_2_absolute_difference_8cpp_source.xhtml#l00097">arm_compute::test::validation::shape</a>, and <a class="el" href="tests_2_utils_8h_source.xhtml#l00352">arm_compute::test::store_value_with_data_type()</a>.</p>
</div>
</div>
<a id="a5580270336a3055bb7477b227563ccf0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5580270336a3055bb7477b227563ccf0">&#9670;&nbsp;</a></span>fill_layer_data()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void fill_layer_data </td>
<td>(</td>
<td class="paramtype">T &amp;&amp;&#160;</td>
<td class="paramname"><em>tensor</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::string&#160;</td>
<td class="paramname"><em>name</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Fills the specified <code>tensor</code> with data loaded from .npy (numpy binary) in specified path. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in,out]</td><td class="paramname">tensor</td><td>To be filled tensor. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>Data file.</td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>The numpy array stored in the binary .npy file must be row-major in the sense that it must store elements within a row consecutively in the memory, then rows within a 2D slice, then 2D slices within a 3D slice and so on. Note that it imposes no restrictions on what indexing convention is used in the numpy array. That is, the numpy array can be either fortran style or C style as long as it adheres to the rule above.</dd></dl>
<p>More concretely, the orders of dimensions for each style are as follows: C-style (numpy default): array[HigherDims..., Z, Y, X] Fortran style: array[X, Y, Z, HigherDims...] </p>
<p class="definition">Definition at line <a class="el" href="_assets_library_8h_source.xhtml#l00932">932</a> of file <a class="el" href="_assets_library_8h_source.xhtml">AssetsLibrary.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00933"></a><span class="lineno"> 933</span>&#160;{</div><div class="line"><a name="l00934"></a><span class="lineno"> 934</span>&#160;<span class="preprocessor">#ifdef _WIN32</span></div><div class="line"><a name="l00935"></a><span class="lineno"> 935</span>&#160; <span class="keyword">const</span> std::string path_separator(<span class="stringliteral">&quot;\\&quot;</span>);</div><div class="line"><a name="l00936"></a><span class="lineno"> 936</span>&#160;<span class="preprocessor">#else </span><span class="comment">/* _WIN32 */</span><span class="preprocessor"></span></div><div class="line"><a name="l00937"></a><span class="lineno"> 937</span>&#160; <span class="keyword">const</span> std::string path_separator(<span class="stringliteral">&quot;/&quot;</span>);</div><div class="line"><a name="l00938"></a><span class="lineno"> 938</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* _WIN32 */</span><span class="preprocessor"></span></div><div class="line"><a name="l00939"></a><span class="lineno"> 939</span>&#160; <span class="keyword">const</span> std::string <a class="code" href="classarm__compute_1_1test_1_1_assets_library.xhtml#ac4cb5f95f1d720ef0cc94b74152cf50b">path</a> = _library_path + path_separator + name;</div><div class="line"><a name="l00940"></a><span class="lineno"> 940</span>&#160;</div><div class="line"><a name="l00941"></a><span class="lineno"> 941</span>&#160; std::vector&lt;unsigned long&gt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>;</div><div class="line"><a name="l00942"></a><span class="lineno"> 942</span>&#160;</div><div class="line"><a name="l00943"></a><span class="lineno"> 943</span>&#160; <span class="comment">// Open file</span></div><div class="line"><a name="l00944"></a><span class="lineno"> 944</span>&#160; std::ifstream stream(<a class="code" href="classarm__compute_1_1test_1_1_assets_library.xhtml#ac4cb5f95f1d720ef0cc94b74152cf50b">path</a>, std::ios::in | std::ios::binary);</div><div class="line"><a name="l00945"></a><span class="lineno"> 945</span>&#160; <span class="keywordflow">if</span>(!stream.good())</div><div class="line"><a name="l00946"></a><span class="lineno"> 946</span>&#160; {</div><div class="line"><a name="l00947"></a><span class="lineno"> 947</span>&#160; <span class="keywordflow">throw</span> framework::FileNotFound(<span class="stringliteral">&quot;Could not load npy file: &quot;</span> + <a class="code" href="classarm__compute_1_1test_1_1_assets_library.xhtml#ac4cb5f95f1d720ef0cc94b74152cf50b">path</a>);</div><div class="line"><a name="l00948"></a><span class="lineno"> 948</span>&#160; }</div><div class="line"><a name="l00949"></a><span class="lineno"> 949</span>&#160; std::string header = npy::read_header(stream);</div><div class="line"><a name="l00950"></a><span class="lineno"> 950</span>&#160;</div><div class="line"><a name="l00951"></a><span class="lineno"> 951</span>&#160; <span class="comment">// Parse header</span></div><div class="line"><a name="l00952"></a><span class="lineno"> 952</span>&#160; <span class="keywordtype">bool</span> fortran_order = <span class="keyword">false</span>;</div><div class="line"><a name="l00953"></a><span class="lineno"> 953</span>&#160; std::string typestr;</div><div class="line"><a name="l00954"></a><span class="lineno"> 954</span>&#160; npy::parse_header(header, typestr, fortran_order, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>);</div><div class="line"><a name="l00955"></a><span class="lineno"> 955</span>&#160;</div><div class="line"><a name="l00956"></a><span class="lineno"> 956</span>&#160; <span class="comment">// Check if the typestring matches the given one</span></div><div class="line"><a name="l00957"></a><span class="lineno"> 957</span>&#160; std::string expect_typestr = <a class="code" href="namespacearm__compute_1_1test.xhtml#ae47155d6186155ec4da9295764b3c05a">get_typestring</a>(tensor.data_type());</div><div class="line"><a name="l00958"></a><span class="lineno"> 958</span>&#160; <a class="code" href="_error_8h.xhtml#a0b0eb3235749a2909dc5a101afe59a1b">ARM_COMPUTE_ERROR_ON_MSG</a>(typestr != expect_typestr, <span class="stringliteral">&quot;Typestrings mismatch&quot;</span>);</div><div class="line"><a name="l00959"></a><span class="lineno"> 959</span>&#160;</div><div class="line"><a name="l00960"></a><span class="lineno"> 960</span>&#160; <span class="comment">// Validate tensor shape</span></div><div class="line"><a name="l00961"></a><span class="lineno"> 961</span>&#160; <a class="code" href="_error_8h.xhtml#a0b0eb3235749a2909dc5a101afe59a1b">ARM_COMPUTE_ERROR_ON_MSG</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>.size() != tensor.shape().num_dimensions(), <span class="stringliteral">&quot;Tensor ranks mismatch&quot;</span>);</div><div class="line"><a name="l00962"></a><span class="lineno"> 962</span>&#160; <span class="keywordflow">if</span>(fortran_order)</div><div class="line"><a name="l00963"></a><span class="lineno"> 963</span>&#160; {</div><div class="line"><a name="l00964"></a><span class="lineno"> 964</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> i = 0; i &lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>.size(); ++i)</div><div class="line"><a name="l00965"></a><span class="lineno"> 965</span>&#160; {</div><div class="line"><a name="l00966"></a><span class="lineno"> 966</span>&#160; <a class="code" href="_error_8h.xhtml#a0b0eb3235749a2909dc5a101afe59a1b">ARM_COMPUTE_ERROR_ON_MSG</a>(tensor.shape()[i] != <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>[i], <span class="stringliteral">&quot;Tensor dimensions mismatch&quot;</span>);</div><div class="line"><a name="l00967"></a><span class="lineno"> 967</span>&#160; }</div><div class="line"><a name="l00968"></a><span class="lineno"> 968</span>&#160; }</div><div class="line"><a name="l00969"></a><span class="lineno"> 969</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00970"></a><span class="lineno"> 970</span>&#160; {</div><div class="line"><a name="l00971"></a><span class="lineno"> 971</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> i = 0; i &lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>.size(); ++i)</div><div class="line"><a name="l00972"></a><span class="lineno"> 972</span>&#160; {</div><div class="line"><a name="l00973"></a><span class="lineno"> 973</span>&#160; <a class="code" href="_error_8h.xhtml#a0b0eb3235749a2909dc5a101afe59a1b">ARM_COMPUTE_ERROR_ON_MSG</a>(tensor.shape()[i] != <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>[<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>.size() - i - 1], <span class="stringliteral">&quot;Tensor dimensions mismatch&quot;</span>);</div><div class="line"><a name="l00974"></a><span class="lineno"> 974</span>&#160; }</div><div class="line"><a name="l00975"></a><span class="lineno"> 975</span>&#160; }</div><div class="line"><a name="l00976"></a><span class="lineno"> 976</span>&#160;</div><div class="line"><a name="l00977"></a><span class="lineno"> 977</span>&#160; <span class="comment">// Read data</span></div><div class="line"><a name="l00978"></a><span class="lineno"> 978</span>&#160; <span class="keywordflow">if</span>(tensor.padding().empty())</div><div class="line"><a name="l00979"></a><span class="lineno"> 979</span>&#160; {</div><div class="line"><a name="l00980"></a><span class="lineno"> 980</span>&#160; <span class="comment">// If tensor has no padding read directly from stream.</span></div><div class="line"><a name="l00981"></a><span class="lineno"> 981</span>&#160; stream.read(reinterpret_cast&lt;char *&gt;(tensor.data()), tensor.size());</div><div class="line"><a name="l00982"></a><span class="lineno"> 982</span>&#160; }</div><div class="line"><a name="l00983"></a><span class="lineno"> 983</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00984"></a><span class="lineno"> 984</span>&#160; {</div><div class="line"><a name="l00985"></a><span class="lineno"> 985</span>&#160; <span class="comment">// If tensor has padding accessing tensor elements through execution window.</span></div><div class="line"><a name="l00986"></a><span class="lineno"> 986</span>&#160; Window window;</div><div class="line"><a name="l00987"></a><span class="lineno"> 987</span>&#160; window.use_tensor_dimensions(tensor.shape());</div><div class="line"><a name="l00988"></a><span class="lineno"> 988</span>&#160;</div><div class="line"><a name="l00989"></a><span class="lineno"> 989</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">execute_window_loop</a>(window, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00990"></a><span class="lineno"> 990</span>&#160; {</div><div class="line"><a name="l00991"></a><span class="lineno"> 991</span>&#160; stream.read(reinterpret_cast&lt;char *&gt;(tensor(<span class="keywordtype">id</span>)), tensor.element_size());</div><div class="line"><a name="l00992"></a><span class="lineno"> 992</span>&#160; });</div><div class="line"><a name="l00993"></a><span class="lineno"> 993</span>&#160; }</div><div class="line"><a name="l00994"></a><span class="lineno"> 994</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a45cde9abb508c62d67c3bb2b9bf566a5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">arm_compute::test::validation::shape</a></div><div class="ttdeci">shape</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_absolute_difference_8cpp_source.xhtml#l00097">AbsoluteDifference.cpp:97</a></div></div>
<div class="ttc" id="classarm__compute_1_1test_1_1_assets_library_xhtml_ac4cb5f95f1d720ef0cc94b74152cf50b"><div class="ttname"><a href="classarm__compute_1_1test_1_1_assets_library.xhtml#ac4cb5f95f1d720ef0cc94b74152cf50b">arm_compute::test::AssetsLibrary::path</a></div><div class="ttdeci">std::string path() const</div><div class="ttdoc">Path to assets directory used to initialise library.</div><div class="ttdef"><b>Definition:</b> <a href="_assets_library_8cpp_source.xhtml#l00255">AssetsLibrary.cpp:255</a></div></div>
<div class="ttc" id="_error_8h_xhtml_a0b0eb3235749a2909dc5a101afe59a1b"><div class="ttname"><a href="_error_8h.xhtml#a0b0eb3235749a2909dc5a101afe59a1b">ARM_COMPUTE_ERROR_ON_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_MSG(cond, msg)</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00456">Error.h:456</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_xhtml_ae47155d6186155ec4da9295764b3c05a"><div class="ttname"><a href="namespacearm__compute_1_1test.xhtml#ae47155d6186155ec4da9295764b3c05a">arm_compute::test::get_typestring</a></div><div class="ttdeci">std::string get_typestring(DataType data_type)</div><div class="ttdoc">Obtain numpy type string from DataType.</div><div class="ttdef"><b>Definition:</b> <a href="tests_2_utils_8h_source.xhtml#l00738">Utils.h:738</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a5002bf7ec46d52971f9526e94172cfee"><div class="ttname"><a href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;... iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00123">Helpers.inl:123</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00456">ARM_COMPUTE_ERROR_ON_MSG</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00123">arm_compute::execute_window_loop()</a>, <a class="el" href="tests_2_utils_8h_source.xhtml#l00738">arm_compute::test::get_typestring()</a>, <a class="el" href="_assets_library_8cpp_source.xhtml#l00255">AssetsLibrary::path()</a>, <a class="el" href="_c_l_2_absolute_difference_8cpp_source.xhtml#l00097">arm_compute::test::validation::shape</a>, and <a class="el" href="_window_8inl_source.xhtml#l00264">Window::use_tensor_dimensions()</a>.</p>
</div>
</div>
<a id="a6bdf347bae60f8b5b4303776cfc48d68"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6bdf347bae60f8b5b4303776cfc48d68">&#9670;&nbsp;</a></span>fill_tensor_uniform() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void fill_tensor_uniform </td>
<td>(</td>
<td class="paramtype">T &amp;&amp;&#160;</td>
<td class="paramname"><em>tensor</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::random_device::result_type&#160;</td>
<td class="paramname"><em>seed_offset</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Fill a tensor with uniform distribution. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in,out]</td><td class="paramname">tensor</td><td>To be filled tensor. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">seed_offset</td><td>The offset will be added to the global seed before initialising the random generator. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_assets_library_8h_source.xhtml#l00658">658</a> of file <a class="el" href="_assets_library_8h_source.xhtml">AssetsLibrary.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160;{</div><div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160; <span class="keywordflow">switch</span>(tensor.data_type())</div><div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160; {</div><div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">DataType::U8</a>:</div><div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">DataType::QASYMM8</a>:</div><div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160; {</div><div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160; std::uniform_int_distribution&lt;uint8_t&gt; distribution_u8(<a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#a73e352c61baaf9c1178da2d30105b04e">std::numeric_limits&lt;uint8_t&gt;::lowest</a>(), std::numeric_limits&lt;uint8_t&gt;::max());</div><div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160; <a class="code" href="classarm__compute_1_1test_1_1_assets_library.xhtml#ac186c860429337d470bccc138ed84423">fill</a>(tensor, distribution_u8, seed_offset);</div><div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160; }</div><div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">DataType::S8</a>:</div><div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a5f007421a4becd11c0666c2058b0b36c">DataType::QSYMM8</a>:</div><div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a34f500e941c4df30b870126ec868ebd5">DataType::QSYMM8_PER_CHANNEL</a>:</div><div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a329f5d0c4b0c80e3474951d2c4435dd9">DataType::QASYMM8_SIGNED</a>:</div><div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160; {</div><div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160; std::uniform_int_distribution&lt;int8_t&gt; distribution_s8(<a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#a73e352c61baaf9c1178da2d30105b04e">std::numeric_limits&lt;int8_t&gt;::lowest</a>(), std::numeric_limits&lt;int8_t&gt;::max());</div><div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160; <a class="code" href="classarm__compute_1_1test_1_1_assets_library.xhtml#ac186c860429337d470bccc138ed84423">fill</a>(tensor, distribution_s8, seed_offset);</div><div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160; }</div><div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">DataType::U16</a>:</div><div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160; {</div><div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160; std::uniform_int_distribution&lt;uint16_t&gt; distribution_u16(<a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#a73e352c61baaf9c1178da2d30105b04e">std::numeric_limits&lt;uint16_t&gt;::lowest</a>(), std::numeric_limits&lt;uint16_t&gt;::max());</div><div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160; <a class="code" href="classarm__compute_1_1test_1_1_assets_library.xhtml#ac186c860429337d470bccc138ed84423">fill</a>(tensor, distribution_u16, seed_offset);</div><div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00683"></a><span class="lineno"> 683</span>&#160; }</div><div class="line"><a name="l00684"></a><span class="lineno"> 684</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">DataType::S16</a>:</div><div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a3ca8a4ea8f992df3b462bc7b24d097c6">DataType::QSYMM16</a>:</div><div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160; {</div><div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160; std::uniform_int_distribution&lt;int16_t&gt; distribution_s16(<a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#a73e352c61baaf9c1178da2d30105b04e">std::numeric_limits&lt;int16_t&gt;::lowest</a>(), std::numeric_limits&lt;int16_t&gt;::max());</div><div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160; <a class="code" href="classarm__compute_1_1test_1_1_assets_library.xhtml#ac186c860429337d470bccc138ed84423">fill</a>(tensor, distribution_s16, seed_offset);</div><div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160; }</div><div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">DataType::U32</a>:</div><div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160; {</div><div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; std::uniform_int_distribution&lt;uint32_t&gt; distribution_u32(<a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#a73e352c61baaf9c1178da2d30105b04e">std::numeric_limits&lt;uint32_t&gt;::lowest</a>(), std::numeric_limits&lt;uint32_t&gt;::max());</div><div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160; <a class="code" href="classarm__compute_1_1test_1_1_assets_library.xhtml#ac186c860429337d470bccc138ed84423">fill</a>(tensor, distribution_u32, seed_offset);</div><div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160; }</div><div class="line"><a name="l00697"></a><span class="lineno"> 697</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">DataType::S32</a>:</div><div class="line"><a name="l00698"></a><span class="lineno"> 698</span>&#160; {</div><div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160; std::uniform_int_distribution&lt;int32_t&gt; distribution_s32(<a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#a73e352c61baaf9c1178da2d30105b04e">std::numeric_limits&lt;int32_t&gt;::lowest</a>(), std::numeric_limits&lt;int32_t&gt;::max());</div><div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; <a class="code" href="classarm__compute_1_1test_1_1_assets_library.xhtml#ac186c860429337d470bccc138ed84423">fill</a>(tensor, distribution_s32, seed_offset);</div><div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160; }</div><div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa">DataType::U64</a>:</div><div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160; {</div><div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160; std::uniform_int_distribution&lt;uint64_t&gt; distribution_u64(<a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#a73e352c61baaf9c1178da2d30105b04e">std::numeric_limits&lt;uint64_t&gt;::lowest</a>(), std::numeric_limits&lt;uint64_t&gt;::max());</div><div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160; <a class="code" href="classarm__compute_1_1test_1_1_assets_library.xhtml#ac186c860429337d470bccc138ed84423">fill</a>(tensor, distribution_u64, seed_offset);</div><div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160; }</div><div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc">DataType::S64</a>:</div><div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160; {</div><div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160; std::uniform_int_distribution&lt;int64_t&gt; distribution_s64(<a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#a73e352c61baaf9c1178da2d30105b04e">std::numeric_limits&lt;int64_t&gt;::lowest</a>(), std::numeric_limits&lt;int64_t&gt;::max());</div><div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160; <a class="code" href="classarm__compute_1_1test_1_1_assets_library.xhtml#ac186c860429337d470bccc138ed84423">fill</a>(tensor, distribution_s64, seed_offset);</div><div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160; }</div><div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">DataType::F16</a>:</div><div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160; {</div><div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160; <span class="comment">// It doesn&#39;t make sense to check [-inf, inf], so hard code it to a big number</span></div><div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160; std::uniform_real_distribution&lt;float&gt; distribution_f16(-100.f, 100.f);</div><div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160; <a class="code" href="classarm__compute_1_1test_1_1_assets_library.xhtml#ac186c860429337d470bccc138ed84423">fill</a>(tensor, distribution_f16, seed_offset);</div><div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160; }</div><div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">DataType::F32</a>:</div><div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160; {</div><div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160; <span class="comment">// It doesn&#39;t make sense to check [-inf, inf], so hard code it to a big number</span></div><div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160; std::uniform_real_distribution&lt;float&gt; distribution_f32(-1000.f, 1000.f);</div><div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160; <a class="code" href="classarm__compute_1_1test_1_1_assets_library.xhtml#ac186c860429337d470bccc138ed84423">fill</a>(tensor, distribution_f32, seed_offset);</div><div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160; }</div><div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e">DataType::F64</a>:</div><div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160; {</div><div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160; <span class="comment">// It doesn&#39;t make sense to check [-inf, inf], so hard code it to a big number</span></div><div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160; std::uniform_real_distribution&lt;double&gt; distribution_f64(-1000.f, 1000.f);</div><div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160; <a class="code" href="classarm__compute_1_1test_1_1_assets_library.xhtml#ac186c860429337d470bccc138ed84423">fill</a>(tensor, distribution_f64, seed_offset);</div><div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160; }</div><div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1">DataType::SIZET</a>:</div><div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160; {</div><div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160; std::uniform_int_distribution&lt;size_t&gt; distribution_sizet(<a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#a73e352c61baaf9c1178da2d30105b04e">std::numeric_limits&lt;size_t&gt;::lowest</a>(), std::numeric_limits&lt;size_t&gt;::max());</div><div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160; <a class="code" href="classarm__compute_1_1test_1_1_assets_library.xhtml#ac186c860429337d470bccc138ed84423">fill</a>(tensor, distribution_sizet, seed_offset);</div><div class="line"><a name="l00740"></a><span class="lineno"> 740</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160; }</div><div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160; <a class="code" href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT SUPPORTED!&quot;</span>);</div><div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160; }</div><div class="line"><a name="l00745"></a><span class="lineno"> 745</span>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a3ca8a4ea8f992df3b462bc7b24d097c6"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a3ca8a4ea8f992df3b462bc7b24d097c6">arm_compute::DataType::QSYMM16</a></div><div class="ttdoc">quantized, symmetric fixed-point 16-bit number</div></div>
<div class="ttc" id="_error_8h_xhtml_a7cf8d8b669b8f7b05680230be30d60f4"><div class="ttname"><a href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(msg)</div><div class="ttdoc">Print the given message then throw an std::runtime_error.</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00352">Error.h:352</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">arm_compute::Format::U8</a></div><div class="ttdoc">1 channel, 1 U8 per channel</div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">arm_compute::Format::F32</a></div><div class="ttdoc">1 channel, 1 F32 per channel</div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">arm_compute::Format::U16</a></div><div class="ttdoc">1 channel, 1 U16 per channel</div></div>
<div class="ttc" id="namespacearm__compute_1_1support_1_1cpp11_xhtml_a73e352c61baaf9c1178da2d30105b04e"><div class="ttname"><a href="namespacearm__compute_1_1support_1_1cpp11.xhtml#a73e352c61baaf9c1178da2d30105b04e">arm_compute::support::cpp11::lowest</a></div><div class="ttdeci">T lowest()</div><div class="ttdef"><b>Definition:</b> <a href="_toolchain_support_8h_source.xhtml#l00418">ToolchainSupport.h:418</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">arm_compute::Format::F16</a></div><div class="ttdoc">1 channel, 1 F16 per channel</div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">arm_compute::Format::S32</a></div><div class="ttdoc">1 channel, 1 S32 per channel</div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc">arm_compute::DataType::S64</a></div><div class="ttdoc">signed 64-bit number</div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1">arm_compute::DataType::SIZET</a></div><div class="ttdoc">size_t</div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">arm_compute::Format::U32</a></div><div class="ttdoc">1 channel, 1 U32 per channel</div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">arm_compute::DataType::QASYMM8</a></div><div class="ttdoc">quantized, asymmetric fixed-point 8-bit number unsigned</div></div>
<div class="ttc" id="classarm__compute_1_1test_1_1_assets_library_xhtml_ac186c860429337d470bccc138ed84423"><div class="ttname"><a href="classarm__compute_1_1test_1_1_assets_library.xhtml#ac186c860429337d470bccc138ed84423">arm_compute::test::AssetsLibrary::fill</a></div><div class="ttdeci">void fill(T &amp;&amp;tensor, D &amp;&amp;distribution, std::random_device::result_type seed_offset) const</div><div class="ttdoc">Fills the specified tensor with random values drawn from distribution.</div><div class="ttdef"><b>Definition:</b> <a href="_assets_library_8h_source.xhtml#l00554">AssetsLibrary.h:554</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="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a5f007421a4becd11c0666c2058b0b36c"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a5f007421a4becd11c0666c2058b0b36c">arm_compute::DataType::QSYMM8</a></div><div class="ttdoc">quantized, symmetric fixed-point 8-bit number</div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a34f500e941c4df30b870126ec868ebd5"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a34f500e941c4df30b870126ec868ebd5">arm_compute::DataType::QSYMM8_PER_CHANNEL</a></div><div class="ttdoc">quantized, symmetric per channel fixed-point 8-bit number</div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a329f5d0c4b0c80e3474951d2c4435dd9"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a329f5d0c4b0c80e3474951d2c4435dd9">arm_compute::DataType::QASYMM8_SIGNED</a></div><div class="ttdoc">quantized, asymmetric fixed-point 8-bit number signed</div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e">arm_compute::DataType::F64</a></div><div class="ttdoc">64-bit floating-point number</div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa">arm_compute::DataType::U64</a></div><div class="ttdoc">unsigned 64-bit number</div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">arm_compute::DataType::S8</a></div><div class="ttdoc">signed 8-bit number</div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00352">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">arm_compute::F16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">arm_compute::F32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e">arm_compute::F64</a>, <a class="el" href="_assets_library_8h_source.xhtml#l00554">AssetsLibrary::fill()</a>, <a class="el" href="_toolchain_support_8h_source.xhtml#l00418">arm_compute::support::cpp11::lowest()</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">arm_compute::QASYMM8</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a329f5d0c4b0c80e3474951d2c4435dd9">arm_compute::QASYMM8_SIGNED</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a3ca8a4ea8f992df3b462bc7b24d097c6">arm_compute::QSYMM16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a5f007421a4becd11c0666c2058b0b36c">arm_compute::QSYMM8</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a34f500e941c4df30b870126ec868ebd5">arm_compute::QSYMM8_PER_CHANNEL</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">arm_compute::S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">arm_compute::S32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc">arm_compute::S64</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">arm_compute::S8</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1">arm_compute::SIZET</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">arm_compute::U16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">arm_compute::U32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa">arm_compute::U64</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">arm_compute::U8</a>.</p>
</div>
</div>
<a id="ab419bdd4d1b71e56517cbd99428e3740"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab419bdd4d1b71e56517cbd99428e3740">&#9670;&nbsp;</a></span>fill_tensor_uniform() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void fill_tensor_uniform </td>
<td>(</td>
<td class="paramtype">T &amp;&amp;&#160;</td>
<td class="paramname"><em>tensor</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::random_device::result_type&#160;</td>
<td class="paramname"><em>seed_offset</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">D&#160;</td>
<td class="paramname"><em>low</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">D&#160;</td>
<td class="paramname"><em>high</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Fill a tensor with uniform distribution. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in,out]</td><td class="paramname">tensor</td><td>To be filled tensor. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">seed_offset</td><td>The offset will be added to the global seed before initialising the random generator. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">low</td><td>lowest value in the range (inclusive) </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">high</td><td>highest value in the range (inclusive)</td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd><code>low</code> and <code>high</code> must be of the same type as the data type of <code>tensor</code> </dd></dl>
<p class="definition">Definition at line <a class="el" href="_assets_library_8h_source.xhtml#l00835">835</a> of file <a class="el" href="_assets_library_8h_source.xhtml">AssetsLibrary.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00836"></a><span class="lineno"> 836</span>&#160;{</div><div class="line"><a name="l00837"></a><span class="lineno"> 837</span>&#160; <span class="keywordflow">switch</span>(tensor.data_type())</div><div class="line"><a name="l00838"></a><span class="lineno"> 838</span>&#160; {</div><div class="line"><a name="l00839"></a><span class="lineno"> 839</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">DataType::U8</a>:</div><div class="line"><a name="l00840"></a><span class="lineno"> 840</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">DataType::QASYMM8</a>:</div><div class="line"><a name="l00841"></a><span class="lineno"> 841</span>&#160; {</div><div class="line"><a name="l00842"></a><span class="lineno"> 842</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(!(std::is_same&lt;uint8_t, D&gt;::value));</div><div class="line"><a name="l00843"></a><span class="lineno"> 843</span>&#160; std::uniform_int_distribution&lt;uint8_t&gt; distribution_u8(low, high);</div><div class="line"><a name="l00844"></a><span class="lineno"> 844</span>&#160; <a class="code" href="classarm__compute_1_1test_1_1_assets_library.xhtml#ac186c860429337d470bccc138ed84423">fill</a>(tensor, distribution_u8, seed_offset);</div><div class="line"><a name="l00845"></a><span class="lineno"> 845</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00846"></a><span class="lineno"> 846</span>&#160; }</div><div class="line"><a name="l00847"></a><span class="lineno"> 847</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">DataType::S8</a>:</div><div class="line"><a name="l00848"></a><span class="lineno"> 848</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a5f007421a4becd11c0666c2058b0b36c">DataType::QSYMM8</a>:</div><div class="line"><a name="l00849"></a><span class="lineno"> 849</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a329f5d0c4b0c80e3474951d2c4435dd9">DataType::QASYMM8_SIGNED</a>:</div><div class="line"><a name="l00850"></a><span class="lineno"> 850</span>&#160; {</div><div class="line"><a name="l00851"></a><span class="lineno"> 851</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(!(std::is_same&lt;int8_t, D&gt;::value));</div><div class="line"><a name="l00852"></a><span class="lineno"> 852</span>&#160; std::uniform_int_distribution&lt;int8_t&gt; distribution_s8(low, high);</div><div class="line"><a name="l00853"></a><span class="lineno"> 853</span>&#160; <a class="code" href="classarm__compute_1_1test_1_1_assets_library.xhtml#ac186c860429337d470bccc138ed84423">fill</a>(tensor, distribution_s8, seed_offset);</div><div class="line"><a name="l00854"></a><span class="lineno"> 854</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00855"></a><span class="lineno"> 855</span>&#160; }</div><div class="line"><a name="l00856"></a><span class="lineno"> 856</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">DataType::U16</a>:</div><div class="line"><a name="l00857"></a><span class="lineno"> 857</span>&#160; {</div><div class="line"><a name="l00858"></a><span class="lineno"> 858</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(!(std::is_same&lt;uint16_t, D&gt;::value));</div><div class="line"><a name="l00859"></a><span class="lineno"> 859</span>&#160; std::uniform_int_distribution&lt;uint16_t&gt; distribution_u16(low, high);</div><div class="line"><a name="l00860"></a><span class="lineno"> 860</span>&#160; <a class="code" href="classarm__compute_1_1test_1_1_assets_library.xhtml#ac186c860429337d470bccc138ed84423">fill</a>(tensor, distribution_u16, seed_offset);</div><div class="line"><a name="l00861"></a><span class="lineno"> 861</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00862"></a><span class="lineno"> 862</span>&#160; }</div><div class="line"><a name="l00863"></a><span class="lineno"> 863</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">DataType::S16</a>:</div><div class="line"><a name="l00864"></a><span class="lineno"> 864</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a3ca8a4ea8f992df3b462bc7b24d097c6">DataType::QSYMM16</a>:</div><div class="line"><a name="l00865"></a><span class="lineno"> 865</span>&#160; {</div><div class="line"><a name="l00866"></a><span class="lineno"> 866</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(!(std::is_same&lt;int16_t, D&gt;::value));</div><div class="line"><a name="l00867"></a><span class="lineno"> 867</span>&#160; std::uniform_int_distribution&lt;int16_t&gt; distribution_s16(low, high);</div><div class="line"><a name="l00868"></a><span class="lineno"> 868</span>&#160; <a class="code" href="classarm__compute_1_1test_1_1_assets_library.xhtml#ac186c860429337d470bccc138ed84423">fill</a>(tensor, distribution_s16, seed_offset);</div><div class="line"><a name="l00869"></a><span class="lineno"> 869</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00870"></a><span class="lineno"> 870</span>&#160; }</div><div class="line"><a name="l00871"></a><span class="lineno"> 871</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">DataType::U32</a>:</div><div class="line"><a name="l00872"></a><span class="lineno"> 872</span>&#160; {</div><div class="line"><a name="l00873"></a><span class="lineno"> 873</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(!(std::is_same&lt;uint32_t, D&gt;::value));</div><div class="line"><a name="l00874"></a><span class="lineno"> 874</span>&#160; std::uniform_int_distribution&lt;uint32_t&gt; distribution_u32(low, high);</div><div class="line"><a name="l00875"></a><span class="lineno"> 875</span>&#160; <a class="code" href="classarm__compute_1_1test_1_1_assets_library.xhtml#ac186c860429337d470bccc138ed84423">fill</a>(tensor, distribution_u32, seed_offset);</div><div class="line"><a name="l00876"></a><span class="lineno"> 876</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00877"></a><span class="lineno"> 877</span>&#160; }</div><div class="line"><a name="l00878"></a><span class="lineno"> 878</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">DataType::S32</a>:</div><div class="line"><a name="l00879"></a><span class="lineno"> 879</span>&#160; {</div><div class="line"><a name="l00880"></a><span class="lineno"> 880</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(!(std::is_same&lt;int32_t, D&gt;::value));</div><div class="line"><a name="l00881"></a><span class="lineno"> 881</span>&#160; std::uniform_int_distribution&lt;int32_t&gt; distribution_s32(low, high);</div><div class="line"><a name="l00882"></a><span class="lineno"> 882</span>&#160; <a class="code" href="classarm__compute_1_1test_1_1_assets_library.xhtml#ac186c860429337d470bccc138ed84423">fill</a>(tensor, distribution_s32, seed_offset);</div><div class="line"><a name="l00883"></a><span class="lineno"> 883</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00884"></a><span class="lineno"> 884</span>&#160; }</div><div class="line"><a name="l00885"></a><span class="lineno"> 885</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa">DataType::U64</a>:</div><div class="line"><a name="l00886"></a><span class="lineno"> 886</span>&#160; {</div><div class="line"><a name="l00887"></a><span class="lineno"> 887</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(!(std::is_same&lt;uint64_t, D&gt;::value));</div><div class="line"><a name="l00888"></a><span class="lineno"> 888</span>&#160; std::uniform_int_distribution&lt;uint64_t&gt; distribution_u64(low, high);</div><div class="line"><a name="l00889"></a><span class="lineno"> 889</span>&#160; <a class="code" href="classarm__compute_1_1test_1_1_assets_library.xhtml#ac186c860429337d470bccc138ed84423">fill</a>(tensor, distribution_u64, seed_offset);</div><div class="line"><a name="l00890"></a><span class="lineno"> 890</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00891"></a><span class="lineno"> 891</span>&#160; }</div><div class="line"><a name="l00892"></a><span class="lineno"> 892</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc">DataType::S64</a>:</div><div class="line"><a name="l00893"></a><span class="lineno"> 893</span>&#160; {</div><div class="line"><a name="l00894"></a><span class="lineno"> 894</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(!(std::is_same&lt;int64_t, D&gt;::value));</div><div class="line"><a name="l00895"></a><span class="lineno"> 895</span>&#160; std::uniform_int_distribution&lt;int64_t&gt; distribution_s64(low, high);</div><div class="line"><a name="l00896"></a><span class="lineno"> 896</span>&#160; <a class="code" href="classarm__compute_1_1test_1_1_assets_library.xhtml#ac186c860429337d470bccc138ed84423">fill</a>(tensor, distribution_s64, seed_offset);</div><div class="line"><a name="l00897"></a><span class="lineno"> 897</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00898"></a><span class="lineno"> 898</span>&#160; }</div><div class="line"><a name="l00899"></a><span class="lineno"> 899</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">DataType::F16</a>:</div><div class="line"><a name="l00900"></a><span class="lineno"> 900</span>&#160; {</div><div class="line"><a name="l00901"></a><span class="lineno"> 901</span>&#160; std::uniform_real_distribution&lt;float&gt; distribution_f16(low, high);</div><div class="line"><a name="l00902"></a><span class="lineno"> 902</span>&#160; <a class="code" href="classarm__compute_1_1test_1_1_assets_library.xhtml#ac186c860429337d470bccc138ed84423">fill</a>(tensor, distribution_f16, seed_offset);</div><div class="line"><a name="l00903"></a><span class="lineno"> 903</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00904"></a><span class="lineno"> 904</span>&#160; }</div><div class="line"><a name="l00905"></a><span class="lineno"> 905</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">DataType::F32</a>:</div><div class="line"><a name="l00906"></a><span class="lineno"> 906</span>&#160; {</div><div class="line"><a name="l00907"></a><span class="lineno"> 907</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(!(std::is_same&lt;float, D&gt;::value));</div><div class="line"><a name="l00908"></a><span class="lineno"> 908</span>&#160; std::uniform_real_distribution&lt;float&gt; distribution_f32(low, high);</div><div class="line"><a name="l00909"></a><span class="lineno"> 909</span>&#160; <a class="code" href="classarm__compute_1_1test_1_1_assets_library.xhtml#ac186c860429337d470bccc138ed84423">fill</a>(tensor, distribution_f32, seed_offset);</div><div class="line"><a name="l00910"></a><span class="lineno"> 910</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00911"></a><span class="lineno"> 911</span>&#160; }</div><div class="line"><a name="l00912"></a><span class="lineno"> 912</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e">DataType::F64</a>:</div><div class="line"><a name="l00913"></a><span class="lineno"> 913</span>&#160; {</div><div class="line"><a name="l00914"></a><span class="lineno"> 914</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(!(std::is_same&lt;double, D&gt;::value));</div><div class="line"><a name="l00915"></a><span class="lineno"> 915</span>&#160; std::uniform_real_distribution&lt;double&gt; distribution_f64(low, high);</div><div class="line"><a name="l00916"></a><span class="lineno"> 916</span>&#160; <a class="code" href="classarm__compute_1_1test_1_1_assets_library.xhtml#ac186c860429337d470bccc138ed84423">fill</a>(tensor, distribution_f64, seed_offset);</div><div class="line"><a name="l00917"></a><span class="lineno"> 917</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00918"></a><span class="lineno"> 918</span>&#160; }</div><div class="line"><a name="l00919"></a><span class="lineno"> 919</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1">DataType::SIZET</a>:</div><div class="line"><a name="l00920"></a><span class="lineno"> 920</span>&#160; {</div><div class="line"><a name="l00921"></a><span class="lineno"> 921</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(!(std::is_same&lt;size_t, D&gt;::value));</div><div class="line"><a name="l00922"></a><span class="lineno"> 922</span>&#160; std::uniform_int_distribution&lt;size_t&gt; distribution_sizet(low, high);</div><div class="line"><a name="l00923"></a><span class="lineno"> 923</span>&#160; <a class="code" href="classarm__compute_1_1test_1_1_assets_library.xhtml#ac186c860429337d470bccc138ed84423">fill</a>(tensor, distribution_sizet, seed_offset);</div><div class="line"><a name="l00924"></a><span class="lineno"> 924</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00925"></a><span class="lineno"> 925</span>&#160; }</div><div class="line"><a name="l00926"></a><span class="lineno"> 926</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00927"></a><span class="lineno"> 927</span>&#160; <a class="code" href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT SUPPORTED!&quot;</span>);</div><div class="line"><a name="l00928"></a><span class="lineno"> 928</span>&#160; }</div><div class="line"><a name="l00929"></a><span class="lineno"> 929</span>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a3ca8a4ea8f992df3b462bc7b24d097c6"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a3ca8a4ea8f992df3b462bc7b24d097c6">arm_compute::DataType::QSYMM16</a></div><div class="ttdoc">quantized, symmetric fixed-point 16-bit number</div></div>
<div class="ttc" id="_error_8h_xhtml_a7cf8d8b669b8f7b05680230be30d60f4"><div class="ttname"><a href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(msg)</div><div class="ttdoc">Print the given message then throw an std::runtime_error.</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00352">Error.h:352</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">arm_compute::Format::U8</a></div><div class="ttdoc">1 channel, 1 U8 per channel</div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">arm_compute::Format::F32</a></div><div class="ttdoc">1 channel, 1 F32 per channel</div></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#l00466">Error.h:466</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">arm_compute::Format::U16</a></div><div class="ttdoc">1 channel, 1 U16 per channel</div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">arm_compute::Format::F16</a></div><div class="ttdoc">1 channel, 1 F16 per channel</div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">arm_compute::Format::S32</a></div><div class="ttdoc">1 channel, 1 S32 per channel</div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc">arm_compute::DataType::S64</a></div><div class="ttdoc">signed 64-bit number</div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1">arm_compute::DataType::SIZET</a></div><div class="ttdoc">size_t</div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">arm_compute::Format::U32</a></div><div class="ttdoc">1 channel, 1 U32 per channel</div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">arm_compute::DataType::QASYMM8</a></div><div class="ttdoc">quantized, asymmetric fixed-point 8-bit number unsigned</div></div>
<div class="ttc" id="classarm__compute_1_1test_1_1_assets_library_xhtml_ac186c860429337d470bccc138ed84423"><div class="ttname"><a href="classarm__compute_1_1test_1_1_assets_library.xhtml#ac186c860429337d470bccc138ed84423">arm_compute::test::AssetsLibrary::fill</a></div><div class="ttdeci">void fill(T &amp;&amp;tensor, D &amp;&amp;distribution, std::random_device::result_type seed_offset) const</div><div class="ttdoc">Fills the specified tensor with random values drawn from distribution.</div><div class="ttdef"><b>Definition:</b> <a href="_assets_library_8h_source.xhtml#l00554">AssetsLibrary.h:554</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="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a5f007421a4becd11c0666c2058b0b36c"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a5f007421a4becd11c0666c2058b0b36c">arm_compute::DataType::QSYMM8</a></div><div class="ttdoc">quantized, symmetric fixed-point 8-bit number</div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a329f5d0c4b0c80e3474951d2c4435dd9"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a329f5d0c4b0c80e3474951d2c4435dd9">arm_compute::DataType::QASYMM8_SIGNED</a></div><div class="ttdoc">quantized, asymmetric fixed-point 8-bit number signed</div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e">arm_compute::DataType::F64</a></div><div class="ttdoc">64-bit floating-point number</div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa">arm_compute::DataType::U64</a></div><div class="ttdoc">unsigned 64-bit number</div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">arm_compute::DataType::S8</a></div><div class="ttdoc">signed 8-bit number</div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00466">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">arm_compute::QASYMM8</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">arm_compute::U8</a>.</p>
</div>
</div>
<a id="a7fd005cb98921bb25824629d659ea79d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7fd005cb98921bb25824629d659ea79d">&#9670;&nbsp;</a></span>fill_tensor_uniform_ranged()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void fill_tensor_uniform_ranged </td>
<td>(</td>
<td class="paramtype">T &amp;&amp;&#160;</td>
<td class="paramname"><em>tensor</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::random_device::result_type&#160;</td>
<td class="paramname"><em>seed_offset</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classarm__compute_1_1test_1_1_assets_library.xhtml#a51733f705cc27b63c4be127eb50639c4">AssetsLibrary::RangePair</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>excluded_range_pairs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Fill a tensor with uniform distribution across the specified range. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in,out]</td><td class="paramname">tensor</td><td>To be filled tensor. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">seed_offset</td><td>The offset will be added to the global seed before initialising the random generator. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">excluded_range_pairs</td><td>Ranges to exclude from the generator </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_assets_library_8h_source.xhtml#l00748">748</a> of file <a class="el" href="_assets_library_8h_source.xhtml">AssetsLibrary.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160;{</div><div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160; <span class="keyword">using namespace </span><a class="code" href="namespacearm__compute_1_1utils_1_1random.xhtml">arm_compute::utils::random</a>;</div><div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160;</div><div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160; <span class="keywordflow">switch</span>(tensor.data_type())</div><div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160; {</div><div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">DataType::U8</a>:</div><div class="line"><a name="l00757"></a><span class="lineno"> 757</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">DataType::QASYMM8</a>:</div><div class="line"><a name="l00758"></a><span class="lineno"> 758</span>&#160; {</div><div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> converted_pairs = detail::convert_range_pair&lt;uint8_t&gt;(excluded_range_pairs);</div><div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160; <a class="code" href="classarm__compute_1_1utils_1_1random_1_1_ranged_uniform_distribution.xhtml">RangedUniformDistribution&lt;uint8_t&gt;</a> distribution_u8(<a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#a73e352c61baaf9c1178da2d30105b04e">std::numeric_limits&lt;uint8_t&gt;::lowest</a>(),</div><div class="line"><a name="l00761"></a><span class="lineno"> 761</span>&#160; std::numeric_limits&lt;uint8_t&gt;::max(),</div><div class="line"><a name="l00762"></a><span class="lineno"> 762</span>&#160; converted_pairs);</div><div class="line"><a name="l00763"></a><span class="lineno"> 763</span>&#160; <a class="code" href="classarm__compute_1_1test_1_1_assets_library.xhtml#ac186c860429337d470bccc138ed84423">fill</a>(tensor, distribution_u8, seed_offset);</div><div class="line"><a name="l00764"></a><span class="lineno"> 764</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00765"></a><span class="lineno"> 765</span>&#160; }</div><div class="line"><a name="l00766"></a><span class="lineno"> 766</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">DataType::S8</a>:</div><div class="line"><a name="l00767"></a><span class="lineno"> 767</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a5f007421a4becd11c0666c2058b0b36c">DataType::QSYMM8</a>:</div><div class="line"><a name="l00768"></a><span class="lineno"> 768</span>&#160; {</div><div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> converted_pairs = detail::convert_range_pair&lt;int8_t&gt;(excluded_range_pairs);</div><div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160; <a class="code" href="classarm__compute_1_1utils_1_1random_1_1_ranged_uniform_distribution.xhtml">RangedUniformDistribution&lt;int8_t&gt;</a> distribution_s8(<a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#a73e352c61baaf9c1178da2d30105b04e">std::numeric_limits&lt;int8_t&gt;::lowest</a>(),</div><div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160; std::numeric_limits&lt;int8_t&gt;::max(),</div><div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160; converted_pairs);</div><div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160; <a class="code" href="classarm__compute_1_1test_1_1_assets_library.xhtml#ac186c860429337d470bccc138ed84423">fill</a>(tensor, distribution_s8, seed_offset);</div><div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160; }</div><div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">DataType::U16</a>:</div><div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160; {</div><div class="line"><a name="l00778"></a><span class="lineno"> 778</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> converted_pairs = detail::convert_range_pair&lt;uint16_t&gt;(excluded_range_pairs);</div><div class="line"><a name="l00779"></a><span class="lineno"> 779</span>&#160; <a class="code" href="classarm__compute_1_1utils_1_1random_1_1_ranged_uniform_distribution.xhtml">RangedUniformDistribution&lt;uint16_t&gt;</a> distribution_u16(<a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#a73e352c61baaf9c1178da2d30105b04e">std::numeric_limits&lt;uint16_t&gt;::lowest</a>(),</div><div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160; std::numeric_limits&lt;uint16_t&gt;::max(),</div><div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160; converted_pairs);</div><div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160; <a class="code" href="classarm__compute_1_1test_1_1_assets_library.xhtml#ac186c860429337d470bccc138ed84423">fill</a>(tensor, distribution_u16, seed_offset);</div><div class="line"><a name="l00783"></a><span class="lineno"> 783</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00784"></a><span class="lineno"> 784</span>&#160; }</div><div class="line"><a name="l00785"></a><span class="lineno"> 785</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">DataType::S16</a>:</div><div class="line"><a name="l00786"></a><span class="lineno"> 786</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a3ca8a4ea8f992df3b462bc7b24d097c6">DataType::QSYMM16</a>:</div><div class="line"><a name="l00787"></a><span class="lineno"> 787</span>&#160; {</div><div class="line"><a name="l00788"></a><span class="lineno"> 788</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> converted_pairs = detail::convert_range_pair&lt;int16_t&gt;(excluded_range_pairs);</div><div class="line"><a name="l00789"></a><span class="lineno"> 789</span>&#160; <a class="code" href="classarm__compute_1_1utils_1_1random_1_1_ranged_uniform_distribution.xhtml">RangedUniformDistribution&lt;int16_t&gt;</a> distribution_s16(<a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#a73e352c61baaf9c1178da2d30105b04e">std::numeric_limits&lt;int16_t&gt;::lowest</a>(),</div><div class="line"><a name="l00790"></a><span class="lineno"> 790</span>&#160; std::numeric_limits&lt;int16_t&gt;::max(),</div><div class="line"><a name="l00791"></a><span class="lineno"> 791</span>&#160; converted_pairs);</div><div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160; <a class="code" href="classarm__compute_1_1test_1_1_assets_library.xhtml#ac186c860429337d470bccc138ed84423">fill</a>(tensor, distribution_s16, seed_offset);</div><div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160; }</div><div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">DataType::U32</a>:</div><div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160; {</div><div class="line"><a name="l00797"></a><span class="lineno"> 797</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> converted_pairs = detail::convert_range_pair&lt;uint32_t&gt;(excluded_range_pairs);</div><div class="line"><a name="l00798"></a><span class="lineno"> 798</span>&#160; <a class="code" href="classarm__compute_1_1utils_1_1random_1_1_ranged_uniform_distribution.xhtml">RangedUniformDistribution&lt;uint32_t&gt;</a> distribution_u32(<a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#a73e352c61baaf9c1178da2d30105b04e">std::numeric_limits&lt;uint32_t&gt;::lowest</a>(),</div><div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160; std::numeric_limits&lt;uint32_t&gt;::max(),</div><div class="line"><a name="l00800"></a><span class="lineno"> 800</span>&#160; converted_pairs);</div><div class="line"><a name="l00801"></a><span class="lineno"> 801</span>&#160; <a class="code" href="classarm__compute_1_1test_1_1_assets_library.xhtml#ac186c860429337d470bccc138ed84423">fill</a>(tensor, distribution_u32, seed_offset);</div><div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00803"></a><span class="lineno"> 803</span>&#160; }</div><div class="line"><a name="l00804"></a><span class="lineno"> 804</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">DataType::S32</a>:</div><div class="line"><a name="l00805"></a><span class="lineno"> 805</span>&#160; {</div><div class="line"><a name="l00806"></a><span class="lineno"> 806</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> converted_pairs = detail::convert_range_pair&lt;int32_t&gt;(excluded_range_pairs);</div><div class="line"><a name="l00807"></a><span class="lineno"> 807</span>&#160; <a class="code" href="classarm__compute_1_1utils_1_1random_1_1_ranged_uniform_distribution.xhtml">RangedUniformDistribution&lt;int32_t&gt;</a> distribution_s32(<a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#a73e352c61baaf9c1178da2d30105b04e">std::numeric_limits&lt;int32_t&gt;::lowest</a>(),</div><div class="line"><a name="l00808"></a><span class="lineno"> 808</span>&#160; std::numeric_limits&lt;int32_t&gt;::max(),</div><div class="line"><a name="l00809"></a><span class="lineno"> 809</span>&#160; converted_pairs);</div><div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160; <a class="code" href="classarm__compute_1_1test_1_1_assets_library.xhtml#ac186c860429337d470bccc138ed84423">fill</a>(tensor, distribution_s32, seed_offset);</div><div class="line"><a name="l00811"></a><span class="lineno"> 811</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00812"></a><span class="lineno"> 812</span>&#160; }</div><div class="line"><a name="l00813"></a><span class="lineno"> 813</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">DataType::F16</a>:</div><div class="line"><a name="l00814"></a><span class="lineno"> 814</span>&#160; {</div><div class="line"><a name="l00815"></a><span class="lineno"> 815</span>&#160; <span class="comment">// It doesn&#39;t make sense to check [-inf, inf], so hard code it to a big number</span></div><div class="line"><a name="l00816"></a><span class="lineno"> 816</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> converted_pairs = detail::convert_range_pair&lt;float&gt;(excluded_range_pairs);</div><div class="line"><a name="l00817"></a><span class="lineno"> 817</span>&#160; <a class="code" href="classarm__compute_1_1utils_1_1random_1_1_ranged_uniform_distribution.xhtml">RangedUniformDistribution&lt;float&gt;</a> distribution_f16(-100.f, 100.f, converted_pairs);</div><div class="line"><a name="l00818"></a><span class="lineno"> 818</span>&#160; <a class="code" href="classarm__compute_1_1test_1_1_assets_library.xhtml#ac186c860429337d470bccc138ed84423">fill</a>(tensor, distribution_f16, seed_offset);</div><div class="line"><a name="l00819"></a><span class="lineno"> 819</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00820"></a><span class="lineno"> 820</span>&#160; }</div><div class="line"><a name="l00821"></a><span class="lineno"> 821</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">DataType::F32</a>:</div><div class="line"><a name="l00822"></a><span class="lineno"> 822</span>&#160; {</div><div class="line"><a name="l00823"></a><span class="lineno"> 823</span>&#160; <span class="comment">// It doesn&#39;t make sense to check [-inf, inf], so hard code it to a big number</span></div><div class="line"><a name="l00824"></a><span class="lineno"> 824</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> converted_pairs = detail::convert_range_pair&lt;float&gt;(excluded_range_pairs);</div><div class="line"><a name="l00825"></a><span class="lineno"> 825</span>&#160; <a class="code" href="classarm__compute_1_1utils_1_1random_1_1_ranged_uniform_distribution.xhtml">RangedUniformDistribution&lt;float&gt;</a> distribution_f32(-1000.f, 1000.f, converted_pairs);</div><div class="line"><a name="l00826"></a><span class="lineno"> 826</span>&#160; <a class="code" href="classarm__compute_1_1test_1_1_assets_library.xhtml#ac186c860429337d470bccc138ed84423">fill</a>(tensor, distribution_f32, seed_offset);</div><div class="line"><a name="l00827"></a><span class="lineno"> 827</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00828"></a><span class="lineno"> 828</span>&#160; }</div><div class="line"><a name="l00829"></a><span class="lineno"> 829</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00830"></a><span class="lineno"> 830</span>&#160; <a class="code" href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT SUPPORTED!&quot;</span>);</div><div class="line"><a name="l00831"></a><span class="lineno"> 831</span>&#160; }</div><div class="line"><a name="l00832"></a><span class="lineno"> 832</span>&#160;}</div><div class="ttc" id="classarm__compute_1_1utils_1_1random_1_1_ranged_uniform_distribution_xhtml"><div class="ttname"><a href="classarm__compute_1_1utils_1_1random_1_1_ranged_uniform_distribution.xhtml">arm_compute::utils::random::RangedUniformDistribution</a></div><div class="ttdoc">Uniform distribution within a given number of sub-ranges.</div><div class="ttdef"><b>Definition:</b> <a href="_random_8h_source.xhtml#l00043">Random.h:43</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a3ca8a4ea8f992df3b462bc7b24d097c6"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a3ca8a4ea8f992df3b462bc7b24d097c6">arm_compute::DataType::QSYMM16</a></div><div class="ttdoc">quantized, symmetric fixed-point 16-bit number</div></div>
<div class="ttc" id="_error_8h_xhtml_a7cf8d8b669b8f7b05680230be30d60f4"><div class="ttname"><a href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(msg)</div><div class="ttdoc">Print the given message then throw an std::runtime_error.</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00352">Error.h:352</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">arm_compute::Format::U8</a></div><div class="ttdoc">1 channel, 1 U8 per channel</div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">arm_compute::Format::F32</a></div><div class="ttdoc">1 channel, 1 F32 per channel</div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">arm_compute::Format::U16</a></div><div class="ttdoc">1 channel, 1 U16 per channel</div></div>
<div class="ttc" id="namespacearm__compute_1_1support_1_1cpp11_xhtml_a73e352c61baaf9c1178da2d30105b04e"><div class="ttname"><a href="namespacearm__compute_1_1support_1_1cpp11.xhtml#a73e352c61baaf9c1178da2d30105b04e">arm_compute::support::cpp11::lowest</a></div><div class="ttdeci">T lowest()</div><div class="ttdef"><b>Definition:</b> <a href="_toolchain_support_8h_source.xhtml#l00418">ToolchainSupport.h:418</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">arm_compute::Format::F16</a></div><div class="ttdoc">1 channel, 1 F16 per channel</div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">arm_compute::Format::S32</a></div><div class="ttdoc">1 channel, 1 S32 per channel</div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">arm_compute::Format::U32</a></div><div class="ttdoc">1 channel, 1 U32 per channel</div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">arm_compute::DataType::QASYMM8</a></div><div class="ttdoc">quantized, asymmetric fixed-point 8-bit number unsigned</div></div>
<div class="ttc" id="classarm__compute_1_1test_1_1_assets_library_xhtml_ac186c860429337d470bccc138ed84423"><div class="ttname"><a href="classarm__compute_1_1test_1_1_assets_library.xhtml#ac186c860429337d470bccc138ed84423">arm_compute::test::AssetsLibrary::fill</a></div><div class="ttdeci">void fill(T &amp;&amp;tensor, D &amp;&amp;distribution, std::random_device::result_type seed_offset) const</div><div class="ttdoc">Fills the specified tensor with random values drawn from distribution.</div><div class="ttdef"><b>Definition:</b> <a href="_assets_library_8h_source.xhtml#l00554">AssetsLibrary.h:554</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="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a5f007421a4becd11c0666c2058b0b36c"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a5f007421a4becd11c0666c2058b0b36c">arm_compute::DataType::QSYMM8</a></div><div class="ttdoc">quantized, symmetric fixed-point 8-bit number</div></div>
<div class="ttc" id="namespacearm__compute_1_1utils_1_1random_xhtml"><div class="ttname"><a href="namespacearm__compute_1_1utils_1_1random.xhtml">arm_compute::utils::random</a></div><div class="ttdef"><b>Definition:</b> <a href="_random_8h_source.xhtml#l00036">Random.h:36</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">arm_compute::DataType::S8</a></div><div class="ttdoc">signed 8-bit number</div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00352">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">arm_compute::F16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">arm_compute::F32</a>, <a class="el" href="_assets_library_8h_source.xhtml#l00554">AssetsLibrary::fill()</a>, <a class="el" href="_toolchain_support_8h_source.xhtml#l00418">arm_compute::support::cpp11::lowest()</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">arm_compute::QASYMM8</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a3ca8a4ea8f992df3b462bc7b24d097c6">arm_compute::QSYMM16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a5f007421a4becd11c0666c2058b0b36c">arm_compute::QSYMM8</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">arm_compute::S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">arm_compute::S32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">arm_compute::S8</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">arm_compute::U16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">arm_compute::U32</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">arm_compute::U8</a>.</p>
</div>
</div>
<a id="aa13fcfba9d7f0433db83255bd1f0638a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa13fcfba9d7f0433db83255bd1f0638a">&#9670;&nbsp;</a></span>fill_tensor_value()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void fill_tensor_value </td>
<td>(</td>
<td class="paramtype">T &amp;&amp;&#160;</td>
<td class="paramname"><em>tensor</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">D&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Fill a tensor with a constant value. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in,out]</td><td class="paramname">tensor</td><td>To be filled tensor. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to be assigned to all elements of the input tensor.</td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd><code>value</code> must be of the same type as the data type of <code>tensor</code> </dd></dl>
<p class="definition">Definition at line <a class="el" href="_assets_library_8h_source.xhtml#l00997">997</a> of file <a class="el" href="_assets_library_8h_source.xhtml">AssetsLibrary.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00998"></a><span class="lineno"> 998</span>&#160;{</div><div class="line"><a name="l00999"></a><span class="lineno"> 999</span>&#160; <a class="code" href="classarm__compute_1_1test_1_1_assets_library.xhtml#a6bdf347bae60f8b5b4303776cfc48d68">fill_tensor_uniform</a>(tensor, 0, value, value);</div><div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>&#160;}</div><div class="ttc" id="classarm__compute_1_1test_1_1_assets_library_xhtml_a6bdf347bae60f8b5b4303776cfc48d68"><div class="ttname"><a href="classarm__compute_1_1test_1_1_assets_library.xhtml#a6bdf347bae60f8b5b4303776cfc48d68">arm_compute::test::AssetsLibrary::fill_tensor_uniform</a></div><div class="ttdeci">void fill_tensor_uniform(T &amp;&amp;tensor, std::random_device::result_type seed_offset) const</div><div class="ttdoc">Fill a tensor with uniform distribution.</div><div class="ttdef"><b>Definition:</b> <a href="_assets_library_8h_source.xhtml#l00658">AssetsLibrary.h:658</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="aa6db5c08c0540fb3c0b8292861342a73"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa6db5c08c0540fb3c0b8292861342a73">&#9670;&nbsp;</a></span>get() <span class="overload">[1/9]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="classarm__compute_1_1test_1_1_raw_tensor.xhtml">RawTensor</a> &amp; get </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Provides a constant raw tensor for the specified image. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">name</td><td><a class="el" href="struct_image.xhtml" title="Structure to hold Image information.">Image</a> file used to look up the raw tensor.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>a raw tensor for the specified image. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_assets_library_8cpp_source.xhtml#l00466">466</a> of file <a class="el" href="_assets_library_8cpp_source.xhtml">AssetsLibrary.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160;{</div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160; <span class="comment">//FIXME: Format should be derived from the image name. Not be fixed to RGB.</span></div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; <span class="keywordflow">return</span> find_or_create_raw_tensor(name, <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">Format::RGB888</a>);</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">arm_compute::Format::RGB888</a></div><div class="ttdoc">3 channels, 1 U8 per channel</div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">arm_compute::RGB888</a>.</p>
<p class="reference">Referenced by <a class="el" href="_assets_library_8cpp_source.xhtml#l00265">AssetsLibrary::fill()</a>, and <a class="el" href="_assets_library_8cpp_source.xhtml#l00478">AssetsLibrary::get()</a>.</p>
</div>
</div>
<a id="aa0cf1a79542c521b9f16d117b085c4d5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa0cf1a79542c521b9f16d117b085c4d5">&#9670;&nbsp;</a></span>get() <span class="overload">[2/9]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classarm__compute_1_1test_1_1_raw_tensor.xhtml">RawTensor</a> get </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Provides a raw tensor for the specified image. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">name</td><td><a class="el" href="struct_image.xhtml" title="Structure to hold Image information.">Image</a> file used to look up the raw tensor.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>a raw tensor for the specified image. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_assets_library_8cpp_source.xhtml#l00472">472</a> of file <a class="el" href="_assets_library_8cpp_source.xhtml">AssetsLibrary.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160;{</div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; <span class="comment">//FIXME: Format should be derived from the image name. Not be fixed to RGB.</span></div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; <span class="keywordflow">return</span> RawTensor(find_or_create_raw_tensor(name, <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">Format::RGB888</a>));</div><div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">arm_compute::Format::RGB888</a></div><div class="ttdoc">3 channels, 1 U8 per channel</div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">arm_compute::RGB888</a>.</p>
</div>
</div>
<a id="a2a42841665f9beb54eb36b19bb80429d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2a42841665f9beb54eb36b19bb80429d">&#9670;&nbsp;</a></span>get() <span class="overload">[3/9]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classarm__compute_1_1test_1_1_raw_tensor.xhtml">RawTensor</a> get </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</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>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>num_channels</em> = <code>1</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates an uninitialised raw tensor with the given <code>data_type</code> and <code>num_channels</code>. </p>
<p>The shape is derived from the specified image.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">name</td><td><a class="el" href="struct_image.xhtml" title="Structure to hold Image information.">Image</a> file used to initialise the tensor. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">data_type</td><td>Data type used to initialise the tensor. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">num_channels</td><td>Number of channels used to initialise the tensor.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>a raw tensor for the specified image. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_assets_library_8cpp_source.xhtml#l00478">478</a> of file <a class="el" href="_assets_library_8cpp_source.xhtml">AssetsLibrary.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160;{</div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; <span class="keyword">const</span> RawTensor &amp;raw = <a class="code" href="classarm__compute_1_1test_1_1_assets_library.xhtml#aa6db5c08c0540fb3c0b8292861342a73">get</a>(name);</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160;</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; <span class="keywordflow">return</span> RawTensor(raw.shape(), <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a5f5b6c4337eac9e2e0046ca2304d80dc">data_type</a>, num_channels);</div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160;}</div><div class="ttc" id="classarm__compute_1_1test_1_1_assets_library_xhtml_aa6db5c08c0540fb3c0b8292861342a73"><div class="ttname"><a href="classarm__compute_1_1test_1_1_assets_library.xhtml#aa6db5c08c0540fb3c0b8292861342a73">arm_compute::test::AssetsLibrary::get</a></div><div class="ttdeci">const RawTensor &amp; get(const std::string &amp;name) const</div><div class="ttdoc">Provides a constant raw tensor for the specified image.</div><div class="ttdef"><b>Definition:</b> <a href="_assets_library_8cpp_source.xhtml#l00466">AssetsLibrary.cpp:466</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#l00138">ArithmeticAddition.cpp:138</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_c_l_2_arithmetic_addition_8cpp_source.xhtml#l00138">arm_compute::test::validation::data_type</a>, <a class="el" href="_assets_library_8cpp_source.xhtml#l00466">AssetsLibrary::get()</a>, and <a class="el" href="_simple_tensor_8h_source.xhtml#l00321">SimpleTensor&lt; T &gt;::shape()</a>.</p>
</div>
</div>
<a id="a3a09811217e482c207002786f08b0cf2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3a09811217e482c207002786f08b0cf2">&#9670;&nbsp;</a></span>get() <span class="overload">[4/9]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="classarm__compute_1_1test_1_1_raw_tensor.xhtml">RawTensor</a> &amp; get </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a>&#160;</td>
<td class="paramname"><em>format</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Provides a contant raw tensor for the specified image after it has been converted to <code>format</code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">name</td><td><a class="el" href="struct_image.xhtml" title="Structure to hold Image information.">Image</a> file used to look up the raw tensor. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Format used to look up the raw tensor.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>a raw tensor for the specified image. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_assets_library_8cpp_source.xhtml#l00485">485</a> of file <a class="el" href="_assets_library_8cpp_source.xhtml">AssetsLibrary.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160;{</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; <span class="keywordflow">return</span> find_or_create_raw_tensor(name, format);</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
<a id="ab760ccaa18b95b99c73eb0e763f39ec2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab760ccaa18b95b99c73eb0e763f39ec2">&#9670;&nbsp;</a></span>get() <span class="overload">[5/9]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classarm__compute_1_1test_1_1_raw_tensor.xhtml">RawTensor</a> get </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a>&#160;</td>
<td class="paramname"><em>format</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Provides a raw tensor for the specified image after it has been converted to <code>format</code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">name</td><td><a class="el" href="struct_image.xhtml" title="Structure to hold Image information.">Image</a> file used to look up the raw tensor. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Format used to look up the raw tensor.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>a raw tensor for the specified image. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_assets_library_8cpp_source.xhtml#l00490">490</a> of file <a class="el" href="_assets_library_8cpp_source.xhtml">AssetsLibrary.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160;{</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; <span class="keywordflow">return</span> RawTensor(find_or_create_raw_tensor(name, format));</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
<a id="a53dd04f4377c6f33085ecefd226071f3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a53dd04f4377c6f33085ecefd226071f3">&#9670;&nbsp;</a></span>get() <span class="overload">[6/9]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="classarm__compute_1_1test_1_1_raw_tensor.xhtml">RawTensor</a> &amp; get </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a>&#160;</td>
<td class="paramname"><em>channel</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Provides a contant raw tensor for the specified channel after it has been extracted form the given image. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">name</td><td><a class="el" href="struct_image.xhtml" title="Structure to hold Image information.">Image</a> file used to look up the raw tensor. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">channel</td><td>Channel used to look up the raw tensor.</td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>The channel has to be unambiguous so that the format can be inferred automatically.</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>a raw tensor for the specified image channel. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_assets_library_8cpp_source.xhtml#l00495">495</a> of file <a class="el" href="_assets_library_8cpp_source.xhtml">AssetsLibrary.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160;{</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1test_1_1_assets_library.xhtml#aa6db5c08c0540fb3c0b8292861342a73">get</a>(name, <a class="code" href="namespacearm__compute_1_1test.xhtml#aa337ab76176f3c4193642ac6de3a61cf">get_format_for_channel</a>(channel), channel);</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_xhtml_aa337ab76176f3c4193642ac6de3a61cf"><div class="ttname"><a href="namespacearm__compute_1_1test.xhtml#aa337ab76176f3c4193642ac6de3a61cf">arm_compute::test::get_format_for_channel</a></div><div class="ttdeci">Format get_format_for_channel(Channel channel)</div><div class="ttdoc">Look up the format corresponding to a channel.</div><div class="ttdef"><b>Definition:</b> <a href="tests_2_utils_8h_source.xhtml#l00150">Utils.h:150</a></div></div>
<div class="ttc" id="classarm__compute_1_1test_1_1_assets_library_xhtml_aa6db5c08c0540fb3c0b8292861342a73"><div class="ttname"><a href="classarm__compute_1_1test_1_1_assets_library.xhtml#aa6db5c08c0540fb3c0b8292861342a73">arm_compute::test::AssetsLibrary::get</a></div><div class="ttdeci">const RawTensor &amp; get(const std::string &amp;name) const</div><div class="ttdoc">Provides a constant raw tensor for the specified image.</div><div class="ttdef"><b>Definition:</b> <a href="_assets_library_8cpp_source.xhtml#l00466">AssetsLibrary.cpp:466</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_assets_library_8cpp_source.xhtml#l00466">AssetsLibrary::get()</a>, and <a class="el" href="tests_2_utils_8h_source.xhtml#l00150">arm_compute::test::get_format_for_channel()</a>.</p>
</div>
</div>
<a id="af6f0ca724e534653925306023dbb88e7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af6f0ca724e534653925306023dbb88e7">&#9670;&nbsp;</a></span>get() <span class="overload">[7/9]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classarm__compute_1_1test_1_1_raw_tensor.xhtml">RawTensor</a> get </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a>&#160;</td>
<td class="paramname"><em>channel</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Provides a raw tensor for the specified channel after it has been extracted form the given image. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">name</td><td><a class="el" href="struct_image.xhtml" title="Structure to hold Image information.">Image</a> file used to look up the raw tensor. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">channel</td><td>Channel used to look up the raw tensor.</td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>The channel has to be unambiguous so that the format can be inferred automatically.</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>a raw tensor for the specified image channel. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_assets_library_8cpp_source.xhtml#l00500">500</a> of file <a class="el" href="_assets_library_8cpp_source.xhtml">AssetsLibrary.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160;{</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; <span class="keywordflow">return</span> RawTensor(<a class="code" href="classarm__compute_1_1test_1_1_assets_library.xhtml#aa6db5c08c0540fb3c0b8292861342a73">get</a>(name, <a class="code" href="namespacearm__compute_1_1test.xhtml#aa337ab76176f3c4193642ac6de3a61cf">get_format_for_channel</a>(channel), channel));</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_xhtml_aa337ab76176f3c4193642ac6de3a61cf"><div class="ttname"><a href="namespacearm__compute_1_1test.xhtml#aa337ab76176f3c4193642ac6de3a61cf">arm_compute::test::get_format_for_channel</a></div><div class="ttdeci">Format get_format_for_channel(Channel channel)</div><div class="ttdoc">Look up the format corresponding to a channel.</div><div class="ttdef"><b>Definition:</b> <a href="tests_2_utils_8h_source.xhtml#l00150">Utils.h:150</a></div></div>
<div class="ttc" id="classarm__compute_1_1test_1_1_assets_library_xhtml_aa6db5c08c0540fb3c0b8292861342a73"><div class="ttname"><a href="classarm__compute_1_1test_1_1_assets_library.xhtml#aa6db5c08c0540fb3c0b8292861342a73">arm_compute::test::AssetsLibrary::get</a></div><div class="ttdeci">const RawTensor &amp; get(const std::string &amp;name) const</div><div class="ttdoc">Provides a constant raw tensor for the specified image.</div><div class="ttdef"><b>Definition:</b> <a href="_assets_library_8cpp_source.xhtml#l00466">AssetsLibrary.cpp:466</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_assets_library_8cpp_source.xhtml#l00466">AssetsLibrary::get()</a>, and <a class="el" href="tests_2_utils_8h_source.xhtml#l00150">arm_compute::test::get_format_for_channel()</a>.</p>
</div>
</div>
<a id="a94ea5147ba395f404c0f0a8a203c1a61"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a94ea5147ba395f404c0f0a8a203c1a61">&#9670;&nbsp;</a></span>get() <span class="overload">[8/9]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="classarm__compute_1_1test_1_1_raw_tensor.xhtml">RawTensor</a> &amp; get </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a>&#160;</td>
<td class="paramname"><em>format</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a>&#160;</td>
<td class="paramname"><em>channel</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Provides a constant raw tensor for the specified channel after it has been extracted form the given image formatted to <code>format</code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">name</td><td><a class="el" href="struct_image.xhtml" title="Structure to hold Image information.">Image</a> file used to look up the raw tensor. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Format used to look up the raw tensor. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">channel</td><td>Channel used to look up the raw tensor.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>a raw tensor for the specified image channel. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_assets_library_8cpp_source.xhtml#l00505">505</a> of file <a class="el" href="_assets_library_8cpp_source.xhtml">AssetsLibrary.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160;{</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; <span class="keywordflow">return</span> find_or_create_raw_tensor(name, format, channel);</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
<a id="ad6182f07b3eda32931598aa4f2bfc11a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad6182f07b3eda32931598aa4f2bfc11a">&#9670;&nbsp;</a></span>get() <span class="overload">[9/9]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classarm__compute_1_1test_1_1_raw_tensor.xhtml">RawTensor</a> get </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a>&#160;</td>
<td class="paramname"><em>format</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a>&#160;</td>
<td class="paramname"><em>channel</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Provides a raw tensor for the specified channel after it has been extracted form the given image formatted to <code>format</code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">name</td><td><a class="el" href="struct_image.xhtml" title="Structure to hold Image information.">Image</a> file used to look up the raw tensor. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Format used to look up the raw tensor. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">channel</td><td>Channel used to look up the raw tensor.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>a raw tensor for the specified image channel. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_assets_library_8cpp_source.xhtml#l00510">510</a> of file <a class="el" href="_assets_library_8cpp_source.xhtml">AssetsLibrary.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160;{</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; <span class="keywordflow">return</span> RawTensor(find_or_create_raw_tensor(name, format, channel));</div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
<a id="acc474b96886b5fd500460c7b25dc84fa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acc474b96886b5fd500460c7b25dc84fa">&#9670;&nbsp;</a></span>get_image_shape()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> get_image_shape </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Provides a tensor shape for the specified image. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">name</td><td><a class="el" href="struct_image.xhtml" title="Structure to hold Image information.">Image</a> file used to look up the raw tensor.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the tensor shape for the specified image. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_assets_library_8cpp_source.xhtml#l00461">461</a> of file <a class="el" href="_assets_library_8cpp_source.xhtml">AssetsLibrary.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160;{</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; <span class="keywordflow">return</span> load_image(name).<a class="code" href="classarm__compute_1_1test_1_1_simple_tensor.xhtml#aba5871b3e4a65d057ec1c28fce8b00ba">shape</a>();</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160;}</div><div class="ttc" id="classarm__compute_1_1test_1_1_simple_tensor_xhtml_aba5871b3e4a65d057ec1c28fce8b00ba"><div class="ttname"><a href="classarm__compute_1_1test_1_1_simple_tensor.xhtml#aba5871b3e4a65d057ec1c28fce8b00ba">arm_compute::test::SimpleTensor::shape</a></div><div class="ttdeci">TensorShape shape() const override</div><div class="ttdoc">Shape of the tensor.</div><div class="ttdef"><b>Definition:</b> <a href="_simple_tensor_8h_source.xhtml#l00321">SimpleTensor.h:321</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_simple_tensor_8h_source.xhtml#l00321">SimpleTensor&lt; T &gt;::shape()</a>.</p>
</div>
</div>
<a id="ac4cb5f95f1d720ef0cc94b74152cf50b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac4cb5f95f1d720ef0cc94b74152cf50b">&#9670;&nbsp;</a></span>path()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::string path </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Path to assets directory used to initialise library. </p>
<dl class="section return"><dt>Returns</dt><dd>the path to the assets directory. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_assets_library_8cpp_source.xhtml#l00255">255</a> of file <a class="el" href="_assets_library_8cpp_source.xhtml">AssetsLibrary.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160;{</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; <span class="keywordflow">return</span> _library_path;</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160;}</div></div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="_assets_library_8h_source.xhtml#l00932">AssetsLibrary::fill_layer_data()</a>.</p>
</div>
</div>
<a id="a0a20fa200643e1e3aa4004375d9188f1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0a20fa200643e1e3aa4004375d9188f1">&#9670;&nbsp;</a></span>seed()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::random_device::result_type seed </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Seed that is used to fill tensors with random values. </p>
<dl class="section return"><dt>Returns</dt><dd>the initial random seed. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_assets_library_8cpp_source.xhtml#l00260">260</a> of file <a class="el" href="_assets_library_8cpp_source.xhtml">AssetsLibrary.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160;{</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; <span class="keywordflow">return</span> _seed;</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160;}</div></div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="_assets_library_8cpp_source.xhtml#l00249">AssetsLibrary::AssetsLibrary()</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>tests/<a class="el" href="_assets_library_8h_source.xhtml">AssetsLibrary.h</a></li>
<li>tests/<a class="el" href="_assets_library_8cpp_source.xhtml">AssetsLibrary.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="namespacearm__compute_1_1test.xhtml">test</a></li><li class="navelem"><a class="el" href="classarm__compute_1_1test_1_1_assets_library.xhtml">AssetsLibrary</a></li>
<li class="footer">Generated on Thu Mar 5 2020 16:07:18 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>