<!-- 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: tests/validation/CL/BatchConcatenateLayer.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="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
</script><script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="stylesheet.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <img alt="Compute Library" src="https://raw.githubusercontent.com/ARM-software/ComputeLibrary/gh-pages/ACL_logo.png" style="max-width: 100%;margin-top: 15px;margin-left: 10px"/>
  <td style="padding-left: 0.5em;">
   <div id="projectname">
   &#160;<span id="projectnumber">19.08</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('_c_l_2_batch_concatenate_layer_8cpp.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="#namespaces">Namespaces</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">BatchConcatenateLayer.cpp File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">arm_compute/core/Types.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="_c_l_tensor_8h_source.xhtml">arm_compute/runtime/CL/CLTensor.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="_c_l_tensor_allocator_8h_source.xhtml">arm_compute/runtime/CL/CLTensorAllocator.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="_c_l_concatenate_layer_8h_source.xhtml">arm_compute/runtime/CL/functions/CLConcatenateLayer.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="_c_l_accessor_8h_source.xhtml">tests/CL/CLAccessor.h</a>&quot;</code><br />
<code>#include &quot;tests/datasets/ShapeDatasets.h&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="tests_2framework_2_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;tests/validation/fixtures/ConcatenateLayerFixture.h&quot;</code><br />
</div>
<p><a href="_c_l_2_batch_concatenate_layer_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="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespacearm__compute"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml">arm_compute</a></td></tr>
<tr class="memdesc:namespacearm__compute"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copyright (c) 2017-2018 ARM Limited. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:namespacearm__compute_1_1test"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1test.xhtml">arm_compute::test</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:namespacearm__compute_1_1test_1_1validation"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1test_1_1validation.xhtml">arm_compute::test::validation</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:afa1025321dbaf119edb636c9cdea2ed5"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:afa1025321dbaf119edb636c9cdea2ed5"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1test_1_1validation.xhtml#afa1025321dbaf119edb636c9cdea2ed5">CLBatchConcatenateLayerFixture</a> = ConcatenateLayerValidationFixture&lt; CLTensor, ICLTensor, CLAccessor, CLConcatenateLayer, T &gt;</td></tr>
<tr class="separator:afa1025321dbaf119edb636c9cdea2ed5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ae13b3bd20d4afa4999be1526b77c89f6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1test_1_1validation.xhtml#ae13b3bd20d4afa4999be1526b77c89f6">DATA_TEST_CASE</a> (Validate, framework::DatasetMode::ALL, zip(zip(zip(framework::dataset::make(&quot;InputInfo1&quot;, { TensorInfo(TensorShape(23U, 27U, 5U, 4U), 1, DataType::F32), TensorInfo(TensorShape(20U, 27U, 4U, 4U), 1, DataType::F32), TensorInfo(TensorShape(23U, 26U, 4U, 3U), 1, DataType::F32), TensorInfo(TensorShape(23U, 27U, 4U, 3U), 1, DataType::F32), TensorInfo(TensorShape(16U, 27U, 3U, 6U), 1, DataType::F32) }), framework::dataset::make(&quot;InputInfo2&quot;, { TensorInfo(TensorShape(23U, 27U, 5U, 4U), 1, DataType::F32), TensorInfo(TensorShape(23U, 27U, 4U, 4U), 1, DataType::F32), TensorInfo(TensorShape(23U, 27U, 4U, 4U), 1, DataType::F32), TensorInfo(TensorShape(23U, 27U, 3U, 3U), 1, DataType::F32), TensorInfo(TensorShape(16U, 27U, 3U, 6U), 1, DataType::F32) })), framework::dataset::make(&quot;OutputInfo&quot;, { TensorInfo(TensorShape(23U, 27U, 5U, 4U), 1, DataType::F16), TensorInfo(TensorShape(23U, 12U, 4U, 4U), 1, DataType::F32), TensorInfo(TensorShape(23U, 27U, 4U, 4U), 1, DataType::F32), TensorInfo(TensorShape(23U, 20U, 4U, 3U), 1, DataType::F32), TensorInfo(TensorShape(16U, 27U, 3U, 12U), 1, DataType::F32) })), framework::dataset::make(&quot;Expected&quot;, { false, false, false, false, true })), input_info1, input_info2, output_info, expected)</td></tr>
<tr class="separator:ae13b3bd20d4afa4999be1526b77c89f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a963c5b8a3279186004d6a7e97a1b87e6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1test_1_1validation.xhtml#a963c5b8a3279186004d6a7e97a1b87e6">TEST_CASE</a> (Configuration, framework::DatasetMode::ALL)</td></tr>
<tr class="separator:a963c5b8a3279186004d6a7e97a1b87e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a34624124ebfc8ee2cc17bfa7d07b80cb"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1test_1_1validation.xhtml#a34624124ebfc8ee2cc17bfa7d07b80cb">FIXTURE_DATA_TEST_CASE</a> (RunSmall, CLBatchConcatenateLayerFixture&lt; half &gt;, framework::DatasetMode::PRECOMMIT, combine(combine(concat(datasets::Small3DShapes(), datasets::Tiny4DShapes()), framework::dataset::make(&quot;DataType&quot;, DataType::F16)), framework::dataset::make(&quot;Axis&quot;, 3)))</td></tr>
<tr class="separator:a34624124ebfc8ee2cc17bfa7d07b80cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abea0e70a502c8273f56aecb3d0ff11ca"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1test_1_1validation.xhtml#abea0e70a502c8273f56aecb3d0ff11ca">FIXTURE_DATA_TEST_CASE</a> (RunLarge, CLBatchConcatenateLayerFixture&lt; half &gt;, framework::DatasetMode::NIGHTLY, combine(combine(concat(datasets::Large3DShapes(), datasets::Small4DShapes()), framework::dataset::make(&quot;DataType&quot;, DataType::F16)), framework::dataset::make(&quot;Axis&quot;, 3)))</td></tr>
<tr class="separator:abea0e70a502c8273f56aecb3d0ff11ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad41185f700115271f91f9e6acfba7ba5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad41185f700115271f91f9e6acfba7ba5">FIXTURE_DATA_TEST_CASE</a> (RunSmall, CLBatchConcatenateLayerFixture&lt; float &gt;, framework::DatasetMode::PRECOMMIT, combine(combine(concat(datasets::Small3DShapes(), datasets::Tiny4DShapes()), framework::dataset::make(&quot;DataType&quot;, DataType::F32)), framework::dataset::make(&quot;Axis&quot;, 3)))</td></tr>
<tr class="separator:ad41185f700115271f91f9e6acfba7ba5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a660ae4ef727dc7e83a7c9aecc1a19628"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1test_1_1validation.xhtml#a660ae4ef727dc7e83a7c9aecc1a19628">FIXTURE_DATA_TEST_CASE</a> (RunLarge, CLBatchConcatenateLayerFixture&lt; float &gt;, framework::DatasetMode::NIGHTLY, combine(combine(datasets::ConcatenateLayerShapes(), framework::dataset::make(&quot;DataType&quot;, DataType::F32)), framework::dataset::make(&quot;Axis&quot;, 3)))</td></tr>
<tr class="separator:a660ae4ef727dc7e83a7c9aecc1a19628"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8bbc079da64deb23258d3814bafca137"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8bbc079da64deb23258d3814bafca137">FIXTURE_DATA_TEST_CASE</a> (RunSmall, CLBatchConcatenateLayerFixture&lt; uint8_t &gt;, framework::DatasetMode::PRECOMMIT, combine(combine(concat(datasets::Small3DShapes(), datasets::Tiny4DShapes()), framework::dataset::make(&quot;DataType&quot;, DataType::QASYMM8)), framework::dataset::make(&quot;Axis&quot;, 3)))</td></tr>
<tr class="separator:a8bbc079da64deb23258d3814bafca137"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed9cbe8be63825ed06e06a064907c4d0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1test_1_1validation.xhtml#aed9cbe8be63825ed06e06a064907c4d0">FIXTURE_DATA_TEST_CASE</a> (RunLarge, CLBatchConcatenateLayerFixture&lt; uint8_t &gt;, framework::DatasetMode::NIGHTLY, combine(combine(datasets::ConcatenateLayerShapes(), framework::dataset::make(&quot;DataType&quot;, DataType::QASYMM8)), framework::dataset::make(&quot;Axis&quot;, 3)))</td></tr>
<tr class="separator:aed9cbe8be63825ed06e06a064907c4d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</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_59425e443f801f1f2fd8bbe4959a3ccf.xhtml">tests</a></li><li class="navelem"><a class="el" href="dir_e7c7b16542faa38cb4655ff1750d3604.xhtml">validation</a></li><li class="navelem"><a class="el" href="dir_f7024513cd67abef53e86ee9382ac5ce.xhtml">CL</a></li><li class="navelem"><a class="el" href="_c_l_2_batch_concatenate_layer_8cpp.xhtml">BatchConcatenateLayer.cpp</a></li>
    <li class="footer">Generated on Mon Sep 2 2019 11:47:30 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>
