blob: 4aea8083c1926f8acb83c4595c203c3c8e9fd426 [file] [log] [blame]
<!-- HTML header for doxygen 1.8.9.1-->
<!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.6"/>
<meta name="robots" content="NOINDEX, NOFOLLOW" /> <!-- Prevent indexing by search engines -->
<title>Compute Library: tests/validation/UNIT/Utils.cpp File 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="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
$(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script><script src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.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;">
<td style="padding-left: 0.5em;">
<div id="projectname">Compute Library
&#160;<span id="projectnumber">17.10</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="annotated.xhtml"><span>Data&#160;Structures</span></a></li>
<li class="current"><a href="files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="globals.xhtml"><span>Globals</span></a></li>
</ul>
</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">
$(document).ready(function(){initNavTree('tests_2validation_2_u_n_i_t_2_utils_8cpp.xhtml','');});
</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)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Pages</a></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="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">Utils.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="tests_2_utils_8h_source.xhtml">tests/Utils.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="_asserts_8h_source.xhtml">tests/framework/Asserts.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="_macros_8h_source.xhtml">tests/framework/Macros.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="_datasets_8h_source.xhtml">tests/framework/datasets/Datasets.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="_validation_8h_source.xhtml">tests/validation/Validation.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="_type_printer_8h_source.xhtml">utils/TypePrinter.h</a>&quot;</code><br/>
<code>#include &lt;stdexcept&gt;</code><br/>
</div>
<p><a href="tests_2validation_2_u_n_i_t_2_utils_8cpp_source.xhtml">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a28f88254f098ec103dc5986d3752660a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="tests_2validation_2_u_n_i_t_2_utils_8cpp.xhtml#a28f88254f098ec103dc5986d3752660a">DATA_TEST_CASE</a> (RoundHalfUp, framework::DatasetMode::ALL, zip(framework::dataset::make(&quot;FloatIn&quot;,{1.f, 1.2f, 1.5f, 2.5f, 2.9f,-3.f,-3.5f,-3.8f,-4.3f,-4.5f}), framework::dataset::make(&quot;FloatOut&quot;,{1.f, 1.f, 2.f, 3.f, 3.f,-3.f,-3.f,-4.f,-4.f,-4.f})), value, result)</td></tr>
<tr class="separator:a28f88254f098ec103dc5986d3752660a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:affbe24fd09600ac3016a471ee841fc57"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="tests_2validation_2_u_n_i_t_2_utils_8cpp.xhtml#affbe24fd09600ac3016a471ee841fc57">DATA_TEST_CASE</a> (RoundHalfEven, framework::DatasetMode::ALL, zip(framework::dataset::make(&quot;FloatIn&quot;,{1.f, 1.2f, 1.5f, 2.5f, 2.9f,-3.f,-3.5f,-3.8f,-4.3f,-4.5f}), framework::dataset::make(&quot;FloatOut&quot;,{1.f, 1.f, 2.f, 2.f, 3.f,-3.f,-4.f,-4.f,-4.f,-4.f})), value, result)</td></tr>
<tr class="separator:affbe24fd09600ac3016a471ee841fc57"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa73947e5521690b18f251cfcc8b3ddfa"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="tests_2validation_2_u_n_i_t_2_utils_8cpp.xhtml#aa73947e5521690b18f251cfcc8b3ddfa">DATA_TEST_CASE</a> (Index2Coord, framework::DatasetMode::ALL, zip(zip(framework::dataset::make(&quot;Shape&quot;,{TensorShape{1U}, TensorShape{2U}, TensorShape{2U, 3U}}), framework::dataset::make(&quot;Index&quot;,{0, 1, 2})), framework::dataset::make(&quot;Coordinates&quot;,{Coordinates{0}, Coordinates{1}, Coordinates{0, 1}})), shape, index, ref_coordinate)</td></tr>
<tr class="separator:aa73947e5521690b18f251cfcc8b3ddfa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e461b3ac0012c8c7193c1e180c91f67"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="tests_2validation_2_u_n_i_t_2_utils_8cpp.xhtml#a9e461b3ac0012c8c7193c1e180c91f67">DATA_TEST_CASE</a> (Coord2Index, framework::DatasetMode::ALL, zip(zip(framework::dataset::make(&quot;Shape&quot;,{TensorShape{1U}, TensorShape{2U}, TensorShape{2U, 3U}}), framework::dataset::make(&quot;Coordinates&quot;,{Coordinates{0}, Coordinates{1}, Coordinates{0, 1}})), framework::dataset::make(&quot;Index&quot;,{0, 1, 2})), shape, coordinate, ref_index)</td></tr>
<tr class="separator:a9e461b3ac0012c8c7193c1e180c91f67"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a28f88254f098ec103dc5986d3752660a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">DATA_TEST_CASE </td>
<td>(</td>
<td class="paramtype">RoundHalfUp&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">framework::DatasetMode::ALL&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">zip(framework::dataset::make(&quot;FloatIn&quot;,{1.f, 1.2f, 1.5f, 2.5f, 2.9f,-3.f,-3.5f,-3.8f,-4.3f,-4.5f}),framework::dataset::make(&quot;FloatOut&quot;,{1.f, 1.f, 2.f, 3.f, 3.f,-3.f,-3.f,-4.f,-4.f,-4.f}))&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">result&#160;</td>
<td class="paramname">&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="tests_2validation_2_u_n_i_t_2_utils_8cpp_source.xhtml#l00040">40</a> of file <a class="el" href="tests_2validation_2_u_n_i_t_2_utils_8cpp_source.xhtml">Utils.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; { 1.f, 1.2f, 1.5f, 2.5f, 2.9f, -3.f, -3.5f, -3.8f, -4.3f, -4.5f }),</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1framework_1_1dataset.xhtml#a352791fb808d42a82ad70df5efa3508b">framework::dataset::make</a>(<span class="stringliteral">&quot;FloatOut&quot;</span>, { 1.f, 1.f, 2.f, 3.f, 3.f, -3.f, -3.f, -4.f, -4.f, -4.f })),</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <a class="code" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>, result)</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;{</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <a class="code" href="_asserts_8h.xhtml#adc60af942e951dc93e22b97b41809b51">ARM_COMPUTE_EXPECT</a>(<a class="code" href="namespacearm__compute_1_1test.xhtml#af4bcf30f8c56f547f66d61c7c5ae01db">round_half_up</a>(<a class="code" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>) == result, framework::LogLevel::ERRORS);</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;}</div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1framework_1_1dataset_xhtml_a352791fb808d42a82ad70df5efa3508b"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1framework_1_1dataset.xhtml#a352791fb808d42a82ad70df5efa3508b">arm_compute::test::framework::dataset::make</a></div><div class="ttdeci">std::enable_if&lt; is_container&lt; T &gt;::value, ContainerDataset&lt; T &gt; &gt;::type make(std::string name, T &amp;&amp;values)</div><div class="ttdoc">Helper function to create a ContainerDataset. </div><div class="ttdef"><b>Definition:</b> <a href="_container_dataset_8h_source.xhtml#l00140">ContainerDataset.h:140</a></div></div>
<div class="ttc" id="hwc_8hpp_xhtml_a0f61d63b009d0880a89c843bd50d8d76"><div class="ttname"><a href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a></div><div class="ttdeci">void * value</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00269">hwc.hpp:269</a></div></div>
<div class="ttc" id="_asserts_8h_xhtml_adc60af942e951dc93e22b97b41809b51"><div class="ttname"><a href="_asserts_8h.xhtml#adc60af942e951dc93e22b97b41809b51">ARM_COMPUTE_EXPECT</a></div><div class="ttdeci">#define ARM_COMPUTE_EXPECT(X, LEVEL)</div><div class="ttdef"><b>Definition:</b> <a href="_asserts_8h_source.xhtml#l00124">Asserts.h:124</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_xhtml_af4bcf30f8c56f547f66d61c7c5ae01db"><div class="ttname"><a href="namespacearm__compute_1_1test.xhtml#af4bcf30f8c56f547f66d61c7c5ae01db">arm_compute::test::round_half_up</a></div><div class="ttdeci">T round_half_up(T value)</div><div class="ttdoc">Round floating-point value with half value rounding to positive infinity. </div><div class="ttdef"><b>Definition:</b> <a href="tests_2_utils_8h_source.xhtml#l00056">Utils.h:56</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a class="anchor" id="affbe24fd09600ac3016a471ee841fc57"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">DATA_TEST_CASE </td>
<td>(</td>
<td class="paramtype">RoundHalfEven&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">framework::DatasetMode::ALL&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">zip(framework::dataset::make(&quot;FloatIn&quot;,{1.f, 1.2f, 1.5f, 2.5f, 2.9f,-3.f,-3.5f,-3.8f,-4.3f,-4.5f}),framework::dataset::make(&quot;FloatOut&quot;,{1.f, 1.f, 2.f, 2.f, 3.f,-3.f,-4.f,-4.f,-4.f,-4.f}))&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">result&#160;</td>
<td class="paramname">&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="tests_2validation_2_u_n_i_t_2_utils_8cpp_source.xhtml#l00047">47</a> of file <a class="el" href="tests_2validation_2_u_n_i_t_2_utils_8cpp_source.xhtml">Utils.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; { 1.f, 1.2f, 1.5f, 2.5f, 2.9f, -3.f, -3.5f, -3.8f, -4.3f, -4.5f }),</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1framework_1_1dataset.xhtml#a352791fb808d42a82ad70df5efa3508b">framework::dataset::make</a>(<span class="stringliteral">&quot;FloatOut&quot;</span>, { 1.f, 1.f, 2.f, 2.f, 3.f, -3.f, -4.f, -4.f, -4.f, -4.f })),</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <a class="code" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>, result)</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;{</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <a class="code" href="_asserts_8h.xhtml#adc60af942e951dc93e22b97b41809b51">ARM_COMPUTE_EXPECT</a>(<a class="code" href="namespacearm__compute_1_1test.xhtml#ad93bb148a873f19ad7692756e59617f4">round_half_even</a>(<a class="code" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>) == result, framework::LogLevel::ERRORS);</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;}</div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1framework_1_1dataset_xhtml_a352791fb808d42a82ad70df5efa3508b"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1framework_1_1dataset.xhtml#a352791fb808d42a82ad70df5efa3508b">arm_compute::test::framework::dataset::make</a></div><div class="ttdeci">std::enable_if&lt; is_container&lt; T &gt;::value, ContainerDataset&lt; T &gt; &gt;::type make(std::string name, T &amp;&amp;values)</div><div class="ttdoc">Helper function to create a ContainerDataset. </div><div class="ttdef"><b>Definition:</b> <a href="_container_dataset_8h_source.xhtml#l00140">ContainerDataset.h:140</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_xhtml_ad93bb148a873f19ad7692756e59617f4"><div class="ttname"><a href="namespacearm__compute_1_1test.xhtml#ad93bb148a873f19ad7692756e59617f4">arm_compute::test::round_half_even</a></div><div class="ttdeci">T round_half_even(T value, T epsilon=std::numeric_limits&lt; T &gt;::epsilon())</div><div class="ttdoc">Round floating-point value with half value rounding to nearest even. </div><div class="ttdef"><b>Definition:</b> <a href="tests_2_utils_8h_source.xhtml#l00069">Utils.h:69</a></div></div>
<div class="ttc" id="hwc_8hpp_xhtml_a0f61d63b009d0880a89c843bd50d8d76"><div class="ttname"><a href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a></div><div class="ttdeci">void * value</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00269">hwc.hpp:269</a></div></div>
<div class="ttc" id="_asserts_8h_xhtml_adc60af942e951dc93e22b97b41809b51"><div class="ttname"><a href="_asserts_8h.xhtml#adc60af942e951dc93e22b97b41809b51">ARM_COMPUTE_EXPECT</a></div><div class="ttdeci">#define ARM_COMPUTE_EXPECT(X, LEVEL)</div><div class="ttdef"><b>Definition:</b> <a href="_asserts_8h_source.xhtml#l00124">Asserts.h:124</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a class="anchor" id="aa73947e5521690b18f251cfcc8b3ddfa"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">DATA_TEST_CASE </td>
<td>(</td>
<td class="paramtype">Index2Coord&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">framework::DatasetMode::ALL&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">zip(zip(framework::dataset::make(&quot;Shape&quot;,{TensorShape{1U}, TensorShape{2U}, TensorShape{2U, 3U}}), framework::dataset::make(&quot;Index&quot;,{0, 1, 2})),framework::dataset::make(&quot;Coordinates&quot;,{Coordinates{0}, Coordinates{1}, Coordinates{0, 1}}))&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">shape&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">index&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">ref_coordinate&#160;</td>
<td class="paramname">&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="tests_2validation_2_u_n_i_t_2_utils_8cpp_source.xhtml#l00054">54</a> of file <a class="el" href="tests_2validation_2_u_n_i_t_2_utils_8cpp_source.xhtml">Utils.cpp</a>.</p>
<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">arm_compute::U</a>.</p>
<div class="fragment"><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; { <a class="code" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a>{ 1<a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a> }, <a class="code" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a>{ 2<a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a> }, <a class="code" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a>{ 2<a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>, 3<a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a> } }), <a class="code" href="namespacearm__compute_1_1test_1_1framework_1_1dataset.xhtml#a352791fb808d42a82ad70df5efa3508b">framework::dataset::make</a>(<span class="stringliteral">&quot;Index&quot;</span>, { 0, 1, 2 })),</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1framework_1_1dataset.xhtml#a352791fb808d42a82ad70df5efa3508b">framework::dataset::make</a>(<span class="stringliteral">&quot;Coordinates&quot;</span>, { <a class="code" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a>{ 0 }, <a class="code" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a>{ 1 }, <a class="code" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a>{ 0, 1 } })),</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>, index, ref_coordinate)</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;{</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <a class="code" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> coordinate = <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>, index);</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <a class="code" href="_asserts_8h.xhtml#adc60af942e951dc93e22b97b41809b51">ARM_COMPUTE_EXPECT</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45ccb6e2ccc0be8a60e694a6b75e4679">compare_dimensions</a>(coordinate, ref_coordinate), framework::LogLevel::ERRORS);</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;}</div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a45ccb6e2ccc0be8a60e694a6b75e4679"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a45ccb6e2ccc0be8a60e694a6b75e4679">arm_compute::test::validation::compare_dimensions</a></div><div class="ttdeci">bool compare_dimensions(const Dimensions&lt; T &gt; &amp;dimensions1, const Dimensions&lt; T &gt; &amp;dimensions2)</div><div class="ttdef"><b>Definition:</b> <a href="_validation_8h_source.xhtml#l00133">Validation.h:133</a></div></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_min_max_location_8cpp_source.xhtml#l00089">MinMaxLocation.cpp:89</a></div></div>
<div class="ttc" id="classarm__compute_1_1_tensor_shape_xhtml"><div class="ttname"><a href="classarm__compute_1_1_tensor_shape.xhtml">arm_compute::TensorShape</a></div><div class="ttdoc">Shape of a tensor. </div><div class="ttdef"><b>Definition:</b> <a href="_tensor_shape_8h_source.xhtml#l00038">TensorShape.h:38</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1framework_1_1dataset_xhtml_a352791fb808d42a82ad70df5efa3508b"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1framework_1_1dataset.xhtml#a352791fb808d42a82ad70df5efa3508b">arm_compute::test::framework::dataset::make</a></div><div class="ttdeci">std::enable_if&lt; is_container&lt; T &gt;::value, ContainerDataset&lt; T &gt; &gt;::type make(std::string name, T &amp;&amp;values)</div><div class="ttdoc">Helper function to create a ContainerDataset. </div><div class="ttdef"><b>Definition:</b> <a href="_container_dataset_8h_source.xhtml#l00140">ContainerDataset.h:140</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">arm_compute::Channel::U</a></div><div class="ttdoc">Cb/U channel. </div></div>
<div class="ttc" id="classarm__compute_1_1_coordinates_xhtml"><div class="ttname"><a href="classarm__compute_1_1_coordinates.xhtml">arm_compute::Coordinates</a></div><div class="ttdoc">Coordinates of an item. </div><div class="ttdef"><b>Definition:</b> <a href="_coordinates_8h_source.xhtml#l00037">Coordinates.h:37</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#l00308">Utils.h:308</a></div></div>
<div class="ttc" id="_asserts_8h_xhtml_adc60af942e951dc93e22b97b41809b51"><div class="ttname"><a href="_asserts_8h.xhtml#adc60af942e951dc93e22b97b41809b51">ARM_COMPUTE_EXPECT</a></div><div class="ttdeci">#define ARM_COMPUTE_EXPECT(X, LEVEL)</div><div class="ttdef"><b>Definition:</b> <a href="_asserts_8h_source.xhtml#l00124">Asserts.h:124</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a class="anchor" id="a9e461b3ac0012c8c7193c1e180c91f67"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">DATA_TEST_CASE </td>
<td>(</td>
<td class="paramtype">Coord2Index&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">framework::DatasetMode::ALL&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">zip(zip(framework::dataset::make(&quot;Shape&quot;,{TensorShape{1U}, TensorShape{2U}, TensorShape{2U, 3U}}),framework::dataset::make(&quot;Coordinates&quot;,{Coordinates{0}, Coordinates{1}, Coordinates{0, 1}})),framework::dataset::make(&quot;Index&quot;,{0, 1, 2}))&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">shape&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">coordinate&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">ref_index&#160;</td>
<td class="paramname">&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="tests_2validation_2_u_n_i_t_2_utils_8cpp_source.xhtml#l00063">63</a> of file <a class="el" href="tests_2validation_2_u_n_i_t_2_utils_8cpp_source.xhtml">Utils.cpp</a>.</p>
<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">arm_compute::U</a>.</p>
<div class="fragment"><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; { <a class="code" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a>{ 1<a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a> }, <a class="code" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a>{ 2<a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a> }, <a class="code" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a>{ 2<a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>, 3<a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a> } }),</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1framework_1_1dataset.xhtml#a352791fb808d42a82ad70df5efa3508b">framework::dataset::make</a>(<span class="stringliteral">&quot;Coordinates&quot;</span>, { <a class="code" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a>{ 0 }, <a class="code" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a>{ 1 }, <a class="code" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a>{ 0, 1 } })),</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1framework_1_1dataset.xhtml#a352791fb808d42a82ad70df5efa3508b">framework::dataset::make</a>(<span class="stringliteral">&quot;Index&quot;</span>, { 0, 1, 2 })),</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>, coordinate, ref_index)</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;{</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keywordtype">int</span> index = <a class="code" href="namespacearm__compute_1_1test.xhtml#a9be4cb7e6ee20063a4a10bc3abb750b9">coord2index</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>, coordinate);</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <a class="code" href="_asserts_8h.xhtml#adc60af942e951dc93e22b97b41809b51">ARM_COMPUTE_EXPECT</a>(index == ref_index, framework::LogLevel::ERRORS);</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</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_min_max_location_8cpp_source.xhtml#l00089">MinMaxLocation.cpp:89</a></div></div>
<div class="ttc" id="classarm__compute_1_1_tensor_shape_xhtml"><div class="ttname"><a href="classarm__compute_1_1_tensor_shape.xhtml">arm_compute::TensorShape</a></div><div class="ttdoc">Shape of a tensor. </div><div class="ttdef"><b>Definition:</b> <a href="_tensor_shape_8h_source.xhtml#l00038">TensorShape.h:38</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1framework_1_1dataset_xhtml_a352791fb808d42a82ad70df5efa3508b"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1framework_1_1dataset.xhtml#a352791fb808d42a82ad70df5efa3508b">arm_compute::test::framework::dataset::make</a></div><div class="ttdeci">std::enable_if&lt; is_container&lt; T &gt;::value, ContainerDataset&lt; T &gt; &gt;::type make(std::string name, T &amp;&amp;values)</div><div class="ttdoc">Helper function to create a ContainerDataset. </div><div class="ttdef"><b>Definition:</b> <a href="_container_dataset_8h_source.xhtml#l00140">ContainerDataset.h:140</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_xhtml_a9be4cb7e6ee20063a4a10bc3abb750b9"><div class="ttname"><a href="namespacearm__compute_1_1test.xhtml#a9be4cb7e6ee20063a4a10bc3abb750b9">arm_compute::test::coord2index</a></div><div class="ttdeci">int coord2index(const TensorShape &amp;shape, const Coordinates &amp;coord)</div><div class="ttdoc">Linearise the given coordinate. </div><div class="ttdef"><b>Definition:</b> <a href="tests_2_utils_8h_source.xhtml#l00337">Utils.h:337</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">arm_compute::Channel::U</a></div><div class="ttdoc">Cb/U channel. </div></div>
<div class="ttc" id="classarm__compute_1_1_coordinates_xhtml"><div class="ttname"><a href="classarm__compute_1_1_coordinates.xhtml">arm_compute::Coordinates</a></div><div class="ttdoc">Coordinates of an item. </div><div class="ttdef"><b>Definition:</b> <a href="_coordinates_8h_source.xhtml#l00037">Coordinates.h:37</a></div></div>
<div class="ttc" id="_asserts_8h_xhtml_adc60af942e951dc93e22b97b41809b51"><div class="ttname"><a href="_asserts_8h.xhtml#adc60af942e951dc93e22b97b41809b51">ARM_COMPUTE_EXPECT</a></div><div class="ttdeci">#define ARM_COMPUTE_EXPECT(X, LEVEL)</div><div class="ttdef"><b>Definition:</b> <a href="_asserts_8h_source.xhtml#l00124">Asserts.h:124</a></div></div>
</div><!-- fragment -->
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_3b4cc335dce0408d77b688e575522aa5.xhtml">tests</a></li><li class="navelem"><a class="el" href="dir_a54a3db5b521d39f12dbe18362fe1216.xhtml">validation</a></li><li class="navelem"><a class="el" href="dir_cb93632906745cbb48be16d67a56353e.xhtml">UNIT</a></li><li class="navelem"><a class="el" href="tests_2validation_2_u_n_i_t_2_utils_8cpp.xhtml">Utils.cpp</a></li>
<li class="footer">Generated on Thu Oct 12 2017 14:26:35 for Compute Library by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6 </li>
</ul>
</div>
</body>
</html>