--- /dev/null
+<!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.13"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>o-du/phy: prach_performance.cc Source File</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="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>
+<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 id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">o-du/phy
+ </div>
+ <div id="projectbrief">Intel O-RAN/X-RAN Generated Doxygen Documentation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- 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 id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_a4c74d6baed87eba72f3b201b7b4b8f2.html">fhi_lib</a></li><li class="navelem"><a class="el" href="dir_babe8eacf738372576863f88f66866a5.html">test</a></li><li class="navelem"><a class="el" href="dir_eb25680e5ae075ef825a327f00297047.html">test_xran</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">prach_performance.cc</div> </div>
+</div><!--header-->
+<div class="contents">
+<a href="prach__performance_8cc.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/******************************************************************************</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">*</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">* Copyright (c) 2019 Intel.</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">*</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">* Licensed under the Apache License, Version 2.0 (the "License");</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">* you may not use this file except in compliance with the License.</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">* You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">*</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment">* http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">*</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">* Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment">* distributed under the License is distributed on an "AS IS" BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment">* See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">* limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment">*</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment">*******************************************************************************/</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> </div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> </div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#include "<a class="code" href="common_8hpp.html">common.hpp</a>"</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#include "<a class="code" href="xran__common_8h.html">xran_common.h</a>"</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor">#include "<a class="code" href="xran__fh__o__du_8h.html">xran_fh_o_du.h</a>"</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor">#include "<a class="code" href="ethernet_8h.html">ethernet.h</a>"</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#include "<a class="code" href="xran__transport_8h.html">xran_transport.h</a>"</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#include "<a class="code" href="xran__cp__api_8h.html">xran_cp_api.h</a>"</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#include <stdint.h></span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> </div><div class="line"><a name="l00030"></a><span class="lineno"><a class="line" href="prach__performance_8cc.html#a69b4bff6061152ff85770d725cced3cc"> 30</a></span> <span class="keyword">const</span> std::string <a class="code" href="prach__performance_8cc.html#a69b4bff6061152ff85770d725cced3cc">module_name</a> = <span class="stringliteral">"Prach_test"</span>;</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> </div><div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="class_prach_perf.html"> 33</a></span> <span class="keyword">class </span><a class="code" href="class_prach_perf.html">PrachPerf</a> : <span class="keyword">public</span> <a class="code" href="class_kernel_tests.html">KernelTests</a></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> {</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  <span class="keyword">private</span>:</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  <span class="keyword">struct </span><a class="code" href="structxran__section__gen__info.html">xran_section_gen_info</a> *m_pSectResult = NULL;</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  <span class="keyword">protected</span>:</div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="class_prach_perf.html#acb7ae6f5547d5e166b643084db28b2fa"> 40</a></span>  <span class="keyword">struct </span><a class="code" href="structxran__fh__config.html">xran_fh_config</a> <a class="code" href="class_prach_perf.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>;</div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="class_prach_perf.html#a48dc9763aed8e2af7ff83eb1648aa96e"> 41</a></span>  <span class="keyword">struct </span><a class="code" href="structxran__device__ctx.html">xran_device_ctx</a> <a class="code" href="class_prach_perf.html#a48dc9763aed8e2af7ff83eb1648aa96e">m_xran_dev_ctx</a>;</div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="class_prach_perf.html#a21909f3922fb3485559575d6252575aa"> 42</a></span>  <span class="keyword">struct </span><a class="code" href="structxran__prach__config.html">xran_prach_config</a> *<a class="code" href="class_prach_perf.html#a21909f3922fb3485559575d6252575aa">m_pPRACHConfig</a>;</div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="class_prach_perf.html#a45887981986f86c7811031b354fb4a36"> 43</a></span>  <span class="keyword">struct </span><a class="code" href="structxran__prach__cp__config.html">xran_prach_cp_config</a> *<a class="code" href="class_prach_perf.html#a45887981986f86c7811031b354fb4a36">m_pPrachCPConfig</a>;</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="class_prach_perf.html#a8afca7ac895ea509b38432d1b45bff55"> 45</a></span>  <span class="keyword">struct </span><a class="code" href="structxran__section__gen__info.html">xran_section_gen_info</a> *<a class="code" href="class_prach_perf.html#a8afca7ac895ea509b38432d1b45bff55">m_pSectGenInfo</a> = NULL;</div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="class_prach_perf.html#ae68e73b40ca04879362dc67fbb368682"> 46</a></span>  <span class="keywordtype">int</span> <a class="code" href="class_prach_perf.html#ae68e73b40ca04879362dc67fbb368682">m_maxSections</a> = 8; <span class="comment">/* not used */</span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="class_prach_perf.html#a28e2512868d0865874dc55150a46f39a"> 47</a></span>  <span class="keywordtype">int</span> <a class="code" href="class_prach_perf.html#a28e2512868d0865874dc55150a46f39a">lastsymbol</a>;</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="class_prach_perf.html#aafa40e823e408268e48585ec7a623eae"> 49</a></span>  <span class="keyword">struct </span>rte_mbuf *<a class="code" href="class_prach_perf.html#aafa40e823e408268e48585ec7a623eae">m_pTestBuffer</a>;</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span> </div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="class_prach_perf.html#a16c92b16fc21a700c50a7faf19da41b9"> 51</a></span>  <span class="keyword">struct </span><a class="code" href="structxran__cp__gen__params.html">xran_cp_gen_params</a> <a class="code" href="class_prach_perf.html#a16c92b16fc21a700c50a7faf19da41b9">m_params</a>;</div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="class_prach_perf.html#a431f2e351a321b762ccd64984d566913"> 52</a></span>  <span class="keyword">struct </span><a class="code" href="structxran__recv__packet__info.html">xran_recv_packet_info</a> <a class="code" href="class_prach_perf.html#a431f2e351a321b762ccd64984d566913">m_pktInfo</a>;</div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="class_prach_perf.html#aa42dde0a7ce436df7e5b607d17d52668"> 53</a></span>  <span class="keyword">struct </span><a class="code" href="structxran__cp__gen__params.html">xran_cp_gen_params</a> <a class="code" href="class_prach_perf.html#aa42dde0a7ce436df7e5b607d17d52668">m_result</a>;</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span> </div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="class_prach_perf.html#afa985909bf1a1a9cc7a7070c9a73016e"> 55</a></span>  uint8_t <a class="code" href="class_prach_perf.html#afa985909bf1a1a9cc7a7070c9a73016e">m_dir</a>;</div><div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="class_prach_perf.html#a4bb0d1ca82a59555014c6c0e1060cbdf"> 56</a></span>  std::string <a class="code" href="class_prach_perf.html#a4bb0d1ca82a59555014c6c0e1060cbdf">m_dirStr</a>;</div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="class_prach_perf.html#abc4c88e1904502c47099799767ea3991"> 57</a></span>  uint8_t <a class="code" href="class_prach_perf.html#abc4c88e1904502c47099799767ea3991">m_sectionType</a>;</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="class_prach_perf.html#a9f102f8bfc163d6a26411d1855c8c97c"> 59</a></span>  uint8_t <a class="code" href="class_prach_perf.html#a9f102f8bfc163d6a26411d1855c8c97c">m_ccId</a>, <a class="code" href="class_prach_perf.html#a73f8e8274bd97892f58f73d1d83b533a">m_antId</a>;</div><div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="class_prach_perf.html#a7a0ce01c67c4067cc3ba42fd380e858a"> 60</a></span>  uint8_t <a class="code" href="class_prach_perf.html#a7a0ce01c67c4067cc3ba42fd380e858a">m_seqId</a>;</div><div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="class_prach_perf.html#afa13542efadbf6db6e8ddfa388a345c0"> 61</a></span>  uint8_t <a class="code" href="class_prach_perf.html#a65389015c6ac952ac5108c2ae802fa52">m_frameId</a>, <a class="code" href="class_prach_perf.html#afa13542efadbf6db6e8ddfa388a345c0">m_subframeId</a>, <a class="code" href="class_prach_perf.html#a7f021a016314b5d3a9bb095c5c08048f">m_slotId</a>;</div><div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="class_prach_perf.html#aba23eca36e0c5cc06d74919fa5fe0dd6"> 62</a></span>  uint8_t <a class="code" href="class_prach_perf.html#aba23eca36e0c5cc06d74919fa5fe0dd6">m_symStart</a>, <a class="code" href="class_prach_perf.html#a88a1f1ad78450f64aab4fa3f6499060a">m_symNum</a>;</div><div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="class_prach_perf.html#a59b4057d63386649d2facf030a08fa0e"> 63</a></span>  uint16_t *<a class="code" href="class_prach_perf.html#a59b4057d63386649d2facf030a08fa0e">m_prbStart</a> = NULL, *<a class="code" href="class_prach_perf.html#a81096035b0802bc24810c07ca13df7e9">m_prbNum</a> = NULL;</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div><div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="class_prach_perf.html#a5b1a6d8e8257b3bb7e3a187c0cce4011"> 65</a></span>  uint8_t <a class="code" href="class_prach_perf.html#a5b1a6d8e8257b3bb7e3a187c0cce4011">m_iqWidth</a>, <a class="code" href="class_prach_perf.html#a493740cacd8f8d3e235c4626e501d3e2">m_compMethod</a>;</div><div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="class_prach_perf.html#a047b603d6d908d93ce5d58dcc2b63036"> 66</a></span>  uint16_t <a class="code" href="class_prach_perf.html#a047b603d6d908d93ce5d58dcc2b63036">m_beamId</a>;</div><div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="class_prach_perf.html#ab4be4cfb9be32a9a6c516f5cfbae0d6f"> 67</a></span>  uint16_t <a class="code" href="class_prach_perf.html#ab4be4cfb9be32a9a6c516f5cfbae0d6f">m_reMask</a> = 0xfff;</div><div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="class_prach_perf.html#a9c4d35a4cce2560e384f2fe95c4c341f"> 68</a></span>  uint16_t <a class="code" href="class_prach_perf.html#a9c4d35a4cce2560e384f2fe95c4c341f">m_sectionId</a>;</div><div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="class_prach_perf.html#adfa9d2df36650f369b04652749c1134b"> 69</a></span>  uint8_t <a class="code" href="class_prach_perf.html#adfa9d2df36650f369b04652749c1134b">m_filterIndex</a>;</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <span class="comment">//uint16_t m_timeOffset;</span></div><div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="class_prach_perf.html#a7a8bdb868f3812cf7270734d13159255"> 71</a></span>  uint8_t <a class="code" href="class_prach_perf.html#a7a8bdb868f3812cf7270734d13159255">m_fftSize</a>;</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <span class="comment">//define reference values</span></div><div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="class_prach_perf.html#a1d28f82423abf4fde782a34ae064aea9"> 74</a></span>  uint8_t <a class="code" href="class_prach_perf.html#a1d28f82423abf4fde782a34ae064aea9">m_startSymId</a>;</div><div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="class_prach_perf.html#a95b34835c7215dd09bdfdd82698c1232"> 75</a></span>  uint8_t <a class="code" href="class_prach_perf.html#a95b34835c7215dd09bdfdd82698c1232">m_x</a>;</div><div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="class_prach_perf.html#aa6a94180919a3f3827f581cb9b6038ef"> 76</a></span>  uint8_t <a class="code" href="class_prach_perf.html#aa6a94180919a3f3827f581cb9b6038ef">m_filterIdx</a>;</div><div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="class_prach_perf.html#acef6d7b2a1494b7d98e70d4759875349"> 77</a></span>  uint16_t <a class="code" href="class_prach_perf.html#acef6d7b2a1494b7d98e70d4759875349">m_startPrbc</a>;</div><div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="class_prach_perf.html#af2657f421b39bfe018266cfe11d27b51"> 78</a></span>  uint8_t <a class="code" href="class_prach_perf.html#af2657f421b39bfe018266cfe11d27b51">m_numPrbc</a>;</div><div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="class_prach_perf.html#ab7158c23dfca189475b254c35ede1da7"> 79</a></span>  uint8_t <a class="code" href="class_prach_perf.html#ab7158c23dfca189475b254c35ede1da7">m_numSymbol</a>;</div><div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="class_prach_perf.html#a509c970617e65a99c8120eef3d309bcb"> 80</a></span>  uint16_t <a class="code" href="class_prach_perf.html#a509c970617e65a99c8120eef3d309bcb">m_timeOffset</a>;</div><div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="class_prach_perf.html#a9c9ab811b57b6250d1712aa6e59c0853"> 81</a></span>  int32_t <a class="code" href="class_prach_perf.html#a9c9ab811b57b6250d1712aa6e59c0853">m_freqOffset</a>;</div><div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="class_prach_perf.html#a8c2ff60cb0ad0f81eafada59dc92c4c6"> 82</a></span>  uint8_t <a class="code" href="class_prach_perf.html#a8c2ff60cb0ad0f81eafada59dc92c4c6">m_nrofPrachInSlot</a>;</div><div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="class_prach_perf.html#a0baaeee595bffc14f68fefd762c6fa5a"> 83</a></span>  uint8_t <a class="code" href="class_prach_perf.html#a0baaeee595bffc14f68fefd762c6fa5a">m_occassionsInPrachSlot</a>;</div><div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="class_prach_perf.html#a5067ab67bdb57355a12a0282ced79bdc"> 84</a></span>  uint8_t <a class="code" href="class_prach_perf.html#a5067ab67bdb57355a12a0282ced79bdc">m_y</a>[<a class="code" href="xran__common_8h.html#a342c40a4877f7760c65eca32523efea1">XRAN_PRACH_CANDIDATE_Y</a>];</div><div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="class_prach_perf.html#a9ef01047ab319b03151146a47e4516c4"> 85</a></span>  uint8_t <a class="code" href="class_prach_perf.html#a9ef01047ab319b03151146a47e4516c4">m_isPRACHslot</a>[<a class="code" href="xran__common_8h.html#af7a48e76794ce5d801ab6d0f848abb53">XRAN_PRACH_CANDIDATE_SLOT</a>];</div><div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="class_prach_perf.html#aee24498b1349e41e8e14f822c6bd8fff"> 86</a></span>  <span class="keywordtype">int</span> <a class="code" href="class_prach_perf.html#aee24498b1349e41e8e14f822c6bd8fff">m_prach_start_symbol</a>;</div><div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="class_prach_perf.html#a98ba28864455aad01fecfc51992a252a"> 87</a></span>  <span class="keywordtype">int</span> <a class="code" href="class_prach_perf.html#a98ba28864455aad01fecfc51992a252a">m_prach_last_symbol</a>;</div><div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="class_prach_perf.html#ae0c317f2faf44b0e7bde79d34e00b2e7"> 88</a></span>  uint8_t <a class="code" href="class_prach_perf.html#ae0c317f2faf44b0e7bde79d34e00b2e7">m_SlotNrNum</a>;</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span> </div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div><div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="class_prach_perf.html#a3a1707f6479611fdc609a3eb8a0cef1b"> 91</a></span>  <span class="keywordtype">void</span> <a class="code" href="class_prach_perf.html#a3a1707f6479611fdc609a3eb8a0cef1b">SetUp</a>()<span class="keyword"> override</span></div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <a class="code" href="class_kernel_tests.html#abf28e5ea54fab2b0685972fe6e75560a">init_test</a>(<span class="stringliteral">"prach_performance"</span>);</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  memset(&<a class="code" href="class_prach_perf.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>, 0, <span class="keyword">sizeof</span>(<span class="keyword">struct</span> <a class="code" href="structxran__fh__config.html">xran_fh_config</a>));</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  memset(&<a class="code" href="class_prach_perf.html#a48dc9763aed8e2af7ff83eb1648aa96e">m_xran_dev_ctx</a>, 0, <span class="keyword">sizeof</span>(<span class="keyword">struct</span> <a class="code" href="structxran__device__ctx.html">xran_device_ctx</a>));</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  m_pPRACHConfig = &<a class="code" href="class_prach_perf.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#a167e91cb91119363bf10c9430b6f082c">prach_conf</a>;</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  m_pPrachCPConfig = &<a class="code" href="class_prach_perf.html#a48dc9763aed8e2af7ff83eb1648aa96e">m_xran_dev_ctx</a>.<a class="code" href="structxran__device__ctx.html#ac1db3db55038ef0b2f69827746eaf87c">PrachCPConfig</a>;</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <span class="comment">//initialize input parameters</span></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <a class="code" href="class_prach_perf.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#a72b0cba491d0dd2703d684cb2c2a14cf">frame_conf</a>.<a class="code" href="structxran__frame__config.html#a78b2fab8e8d6a6424c2712d528fd9a58">nNumerology</a> = get_input_parameter<uint8_t>(<span class="stringliteral">"Numerology"</span>);</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <a class="code" href="class_prach_perf.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#a72b0cba491d0dd2703d684cb2c2a14cf">frame_conf</a>.<a class="code" href="structxran__frame__config.html#a3b86317723a592e240c0047e53a6326d">nFrameDuplexType</a> = get_input_parameter<uint8_t>(<span class="stringliteral">"FrameDuplexType"</span>);</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <a class="code" href="class_prach_perf.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#a583c2f58d0655789ea36e22d605ab9ad">log_level</a> = get_input_parameter<uint32_t>(<span class="stringliteral">"loglevel"</span>);</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span> </div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  m_pPRACHConfig-><a class="code" href="structxran__prach__config.html#acb5fe8097b0115e038eb02d5900f66d6">nPrachConfIdx</a> = get_input_parameter<uint8_t>(<span class="stringliteral">"PrachConfIdx"</span>);</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  m_pPRACHConfig-><a class="code" href="structxran__prach__config.html#a5c648c99c04370a4e8767f919a2289bf">nPrachFreqStart</a> = get_input_parameter<uint16_t>(<span class="stringliteral">"PrachFreqStart"</span>);</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  m_pPRACHConfig-><a class="code" href="structxran__prach__config.html#a3b43924c5ef23b0496d1a7adf2752dbf">nPrachFreqOffset</a> = get_input_parameter<int32_t>(<span class="stringliteral">"PrachFreqOffset"</span>);</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  m_pPRACHConfig-><a class="code" href="structxran__prach__config.html#ab9b99e41ea39f16780f66a539aa872c8">nPrachSubcSpacing</a> = get_input_parameter<uint8_t>(<span class="stringliteral">"PrachSubcSpacing"</span>);</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span> </div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  m_frameId = get_input_parameter<uint8_t>(<span class="stringliteral">"frameId"</span>);</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  m_subframeId = get_input_parameter<uint8_t>(<span class="stringliteral">"subframeId"</span>);</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  m_slotId = get_input_parameter<uint8_t>(<span class="stringliteral">"slotId"</span>);</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  m_beamId = get_input_parameter<uint16_t>(<span class="stringliteral">"beamId"</span>);</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  m_ccId = get_input_parameter<uint8_t>(<span class="stringliteral">"ccId"</span>);</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  m_antId = get_input_parameter<uint8_t>(<span class="stringliteral">"antId"</span>);</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span> </div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <span class="comment">//initialize reference output</span></div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  m_startSymId = get_reference_parameter<uint8_t>(<span class="stringliteral">"startSymId"</span>);</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  m_x = get_reference_parameter<uint8_t>(<span class="stringliteral">"x_value"</span>);</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  m_filterIdx = get_reference_parameter<uint8_t>(<span class="stringliteral">"filterIdx"</span>);</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  m_startPrbc = get_reference_parameter<uint16_t>(<span class="stringliteral">"startPrbc"</span>);</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  m_numPrbc = get_reference_parameter<uint8_t>(<span class="stringliteral">"numPrbc"</span>);</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  m_timeOffset = get_reference_parameter<uint16_t>(<span class="stringliteral">"timeOffset"</span>);</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  m_freqOffset = get_reference_parameter<uint32_t>(<span class="stringliteral">"freqOffset"</span>);</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  m_nrofPrachInSlot = get_reference_parameter<uint8_t>(<span class="stringliteral">"nrofPrachInSlot"</span>);</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="comment">//get the values from a vector</span></div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  std::vector<uint8_t> y_vec = get_reference_parameter<std::vector<uint8_t>>(<span class="stringliteral">"y_value"</span>);</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i=0; i < <a class="code" href="xran__common_8h.html#a342c40a4877f7760c65eca32523efea1">XRAN_PRACH_CANDIDATE_Y</a>; i++) {</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  m_y[i] = y_vec[i];</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  }</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span> </div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  m_numSymbol = get_reference_parameter<uint8_t>(<span class="stringliteral">"numSymbol"</span>);</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  m_occassionsInPrachSlot = get_reference_parameter<uint8_t>(<span class="stringliteral">"occassionsInPrachSlot"</span>);</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span> </div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  std::vector<uint8_t> index_vec = get_reference_parameter<std::vector<uint8_t>>(<span class="stringliteral">"isPRACHslot"</span>);</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  m_SlotNrNum = get_reference_parameter<uint8_t>(<span class="stringliteral">"SlotNrNum"</span>);</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = 0; i < <a class="code" href="xran__common_8h.html#af7a48e76794ce5d801ab6d0f848abb53">XRAN_PRACH_CANDIDATE_SLOT</a>; i++){</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  m_isPRACHslot[i]=0;</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  }</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i=0; i<<a class="code" href="class_prach_perf.html#ae0c317f2faf44b0e7bde79d34e00b2e7">m_SlotNrNum</a>;i++){</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  m_isPRACHslot[index_vec[i]]=1;</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  }</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span> </div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span> </div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  m_prach_start_symbol = get_reference_parameter<int>(<span class="stringliteral">"prach_start_symbol"</span>);</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  m_prach_last_symbol = get_reference_parameter<int>(<span class="stringliteral">"prach_last_symbol"</span>);</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="comment">/* allocate and prepare required data storage */</span></div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  m_pSectGenInfo = <span class="keyword">new</span> <span class="keyword">struct </span><a class="code" href="structxran__section__gen__info.html">xran_section_gen_info</a>[8];</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  ASSERT_NE(m_pSectGenInfo, <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  <a class="code" href="class_prach_perf.html#a16c92b16fc21a700c50a7faf19da41b9">m_params</a>.<a class="code" href="structxran__cp__gen__params.html#a5921f2439294279b8111fed577c5c37a">sections</a> = <a class="code" href="class_prach_perf.html#a8afca7ac895ea509b38432d1b45bff55">m_pSectGenInfo</a>;</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span> </div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <span class="comment">/* allocating an mbuf for packet generatrion */</span></div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  m_pTestBuffer = (<span class="keyword">struct </span>rte_mbuf*)rte_pktmbuf_alloc(<a class="code" href="ethernet_8c.html#a8d83e3adb6c9e839b3b7259288f100ba">_eth_mbuf_pool</a>);</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  ASSERT_FALSE(m_pTestBuffer == NULL);</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span> </div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  }</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span> </div><div class="line"><a name="l00160"></a><span class="lineno"><a class="line" href="class_prach_perf.html#ac4fca95dc3b93372ce7f2078baf8e8b6"> 160</a></span>  <span class="keywordtype">void</span> <a class="code" href="class_prach_perf.html#ac4fca95dc3b93372ce7f2078baf8e8b6">TearDown</a>()<span class="keyword"> override</span></div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span> </div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <span class="keywordflow">if</span>(m_pTestBuffer != NULL)</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  rte_pktmbuf_free(m_pTestBuffer);</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <span class="keywordflow">if</span>(m_pSectGenInfo)</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <span class="keyword">delete</span>[] <a class="code" href="class_prach_perf.html#a8afca7ac895ea509b38432d1b45bff55">m_pSectGenInfo</a>;</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span> </div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <span class="keywordflow">return</span>;</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  }</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span> };</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div><div class="line"><a name="l00172"></a><span class="lineno"><a class="line" href="prach__performance_8cc.html#a540e426541deb753f7c69d8df5d5b090"> 172</a></span> <span class="keywordtype">void</span> <a class="code" href="prach__performance_8cc.html#a540e426541deb753f7c69d8df5d5b090">performance_cp</a>(<span class="keywordtype">void</span> *pHandle,<span class="keyword">struct</span> <a class="code" href="structxran__cp__gen__params.html">xran_cp_gen_params</a> *params, <span class="keyword">struct</span> <a class="code" href="structxran__section__gen__info.html">xran_section_gen_info</a> *sect_geninfo, <span class="keyword">struct</span> <a class="code" href="structxran__device__ctx.html">xran_device_ctx</a> *pxran_lib_ctx,</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id,</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  uint16_t beam_id, uint8_t cc_id, uint8_t prach_port_id, uint8_t seq_id)</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span> {</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  <span class="keyword">struct </span>rte_mbuf *mbuf;</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span> </div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  mbuf = (<span class="keyword">struct </span>rte_mbuf*)rte_pktmbuf_alloc(<a class="code" href="ethernet_8c.html#a8d83e3adb6c9e839b3b7259288f100ba">_eth_mbuf_pool</a>);</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span> </div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  <a class="code" href="xran__common_8c.html#ab8a6ed3cee8fa183142d0c23d0b4971d">generate_cpmsg_prach</a>(pHandle, params, sect_geninfo, mbuf, pxran_lib_ctx,</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  frame_id, subframe_id, slot_id,</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  beam_id, cc_id, prach_port_id, seq_id);</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span> </div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  seq_id++;</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span> </div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  rte_pktmbuf_free(mbuf);</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span> }</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span> </div><div class="line"><a name="l00189"></a><span class="lineno"><a class="line" href="prach__performance_8cc.html#a048e029f091d3d395e44cc24b3f197ee"> 189</a></span> <a class="code" href="prach__performance_8cc.html#a048e029f091d3d395e44cc24b3f197ee">TEST_P</a>(<a class="code" href="class_prach_perf.html">PrachPerf</a>, PacketGen)<span class="comment">//TestCaseName TestName</span></div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span> {</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  <span class="keywordtype">int</span> ret;</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  <span class="keywordtype">void</span> *pHandle = NULL;</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span> </div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  <span class="comment">/* Preparing input data for prach config */</span></div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  ret = <a class="code" href="xran__common_8h.html#a00025c5bad7b7b6eea4374226f8c54bb">xran_init_prach</a>(&<a class="code" href="class_prach_perf.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>, &<a class="code" href="class_prach_perf.html#a48dc9763aed8e2af7ff83eb1648aa96e">m_xran_dev_ctx</a>);</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  ASSERT_TRUE(ret == <a class="code" href="xran__fh__o__du_8h.html#a814959a7b5ff6cd4474433f62312eee0">XRAN_STATUS_SUCCESS</a>);</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span> </div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span> </div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  ret = <a class="code" href="xran__common_8c.html#ab8a6ed3cee8fa183142d0c23d0b4971d">generate_cpmsg_prach</a>(pHandle, &<a class="code" href="class_prach_perf.html#a16c92b16fc21a700c50a7faf19da41b9">m_params</a>, <a class="code" href="class_prach_perf.html#a8afca7ac895ea509b38432d1b45bff55">m_pSectGenInfo</a>, <a class="code" href="class_prach_perf.html#aafa40e823e408268e48585ec7a623eae">m_pTestBuffer</a>, &<a class="code" href="class_prach_perf.html#a48dc9763aed8e2af7ff83eb1648aa96e">m_xran_dev_ctx</a>,</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  <a class="code" href="class_prach_perf.html#a65389015c6ac952ac5108c2ae802fa52">m_frameId</a>, <a class="code" href="class_prach_perf.html#afa13542efadbf6db6e8ddfa388a345c0">m_subframeId</a>, <a class="code" href="class_prach_perf.html#a7f021a016314b5d3a9bb095c5c08048f">m_slotId</a>,</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  <a class="code" href="class_prach_perf.html#a047b603d6d908d93ce5d58dcc2b63036">m_beamId</a>, <a class="code" href="class_prach_perf.html#a9f102f8bfc163d6a26411d1855c8c97c">m_ccId</a>, <a class="code" href="class_prach_perf.html#a73f8e8274bd97892f58f73d1d83b533a">m_antId</a>, 0);</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  ASSERT_TRUE(ret == <a class="code" href="xran__fh__o__du_8h.html#a814959a7b5ff6cd4474433f62312eee0">XRAN_STATUS_SUCCESS</a>);</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span> </div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span> </div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  <a class="code" href="class_kernel_tests.html#a3cf2e25a99be565a4ab570737cfeac41">performance</a>(<span class="stringliteral">"C"</span>, <a class="code" href="prach__performance_8cc.html#a69b4bff6061152ff85770d725cced3cc">module_name</a>,</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  &<a class="code" href="prach__performance_8cc.html#a540e426541deb753f7c69d8df5d5b090">performance_cp</a>, pHandle, &<a class="code" href="class_prach_perf.html#a16c92b16fc21a700c50a7faf19da41b9">m_params</a>, <a class="code" href="class_prach_perf.html#a8afca7ac895ea509b38432d1b45bff55">m_pSectGenInfo</a>, &<a class="code" href="class_prach_perf.html#a48dc9763aed8e2af7ff83eb1648aa96e">m_xran_dev_ctx</a>,</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  <a class="code" href="class_prach_perf.html#a65389015c6ac952ac5108c2ae802fa52">m_frameId</a>, <a class="code" href="class_prach_perf.html#afa13542efadbf6db6e8ddfa388a345c0">m_subframeId</a>, <a class="code" href="class_prach_perf.html#a7f021a016314b5d3a9bb095c5c08048f">m_slotId</a>,</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  <a class="code" href="class_prach_perf.html#a047b603d6d908d93ce5d58dcc2b63036">m_beamId</a>, <a class="code" href="class_prach_perf.html#a9f102f8bfc163d6a26411d1855c8c97c">m_ccId</a>, <a class="code" href="class_prach_perf.html#a73f8e8274bd97892f58f73d1d83b533a">m_antId</a>, 0);</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span> }</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span> </div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span> </div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <a class="code" href="prach__performance_8cc.html#ab4e27bca35e8082ffbe84519993b0e47">INSTANTIATE_TEST_CASE_P</a>(UnitTest, <a class="code" href="class_prach_perf.html">PrachPerf</a>,</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  testing::ValuesIn(<a class="code" href="common_8cpp.html#a39bf4f7770751080f5b72046abfd01a5">get_sequence</a>(<a class="code" href="class_kernel_tests.html#a6157ff083be863bba0a7804cd1788d96">PrachPerf::get_number_of_cases</a>(<span class="stringliteral">"prach_performance"</span>))));</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span> </div><div class="ttc" id="xran__common_8c_html_ab8a6ed3cee8fa183142d0c23d0b4971d"><div class="ttname"><a href="xran__common_8c.html#ab8a6ed3cee8fa183142d0c23d0b4971d">generate_cpmsg_prach</a></div><div class="ttdeci">int generate_cpmsg_prach(void *pHandle, struct xran_cp_gen_params *params, struct xran_section_gen_info *sect_geninfo, struct rte_mbuf *mbuf, struct xran_device_ctx *pxran_lib_ctx, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint16_t beam_id, uint8_t cc_id, uint8_t prach_port_id, uint8_t seq_id)</div><div class="ttdef"><b>Definition:</b> <a href="xran__common_8c_source.html#l00595">xran_common.c:595</a></div></div>
+<div class="ttc" id="class_prach_perf_html_a5b1a6d8e8257b3bb7e3a187c0cce4011"><div class="ttname"><a href="class_prach_perf.html#a5b1a6d8e8257b3bb7e3a187c0cce4011">PrachPerf::m_iqWidth</a></div><div class="ttdeci">uint8_t m_iqWidth</div><div class="ttdef"><b>Definition:</b> <a href="prach__performance_8cc_source.html#l00065">prach_performance.cc:65</a></div></div>
+<div class="ttc" id="class_prach_perf_html_a48dc9763aed8e2af7ff83eb1648aa96e"><div class="ttname"><a href="class_prach_perf.html#a48dc9763aed8e2af7ff83eb1648aa96e">PrachPerf::m_xran_dev_ctx</a></div><div class="ttdeci">struct xran_device_ctx m_xran_dev_ctx</div><div class="ttdef"><b>Definition:</b> <a href="prach__performance_8cc_source.html#l00041">prach_performance.cc:41</a></div></div>
+<div class="ttc" id="class_prach_perf_html_a98ba28864455aad01fecfc51992a252a"><div class="ttname"><a href="class_prach_perf.html#a98ba28864455aad01fecfc51992a252a">PrachPerf::m_prach_last_symbol</a></div><div class="ttdeci">int m_prach_last_symbol</div><div class="ttdef"><b>Definition:</b> <a href="prach__performance_8cc_source.html#l00087">prach_performance.cc:87</a></div></div>
+<div class="ttc" id="class_prach_perf_html_a28e2512868d0865874dc55150a46f39a"><div class="ttname"><a href="class_prach_perf.html#a28e2512868d0865874dc55150a46f39a">PrachPerf::lastsymbol</a></div><div class="ttdeci">int lastsymbol</div><div class="ttdef"><b>Definition:</b> <a href="prach__performance_8cc_source.html#l00047">prach_performance.cc:47</a></div></div>
+<div class="ttc" id="xran__fh__o__du_8h_html_a814959a7b5ff6cd4474433f62312eee0"><div class="ttname"><a href="xran__fh__o__du_8h.html#a814959a7b5ff6cd4474433f62312eee0">XRAN_STATUS_SUCCESS</a></div><div class="ttdeci">#define XRAN_STATUS_SUCCESS</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00054">xran_fh_o_du.h:54</a></div></div>
+<div class="ttc" id="class_prach_perf_html_a7a0ce01c67c4067cc3ba42fd380e858a"><div class="ttname"><a href="class_prach_perf.html#a7a0ce01c67c4067cc3ba42fd380e858a">PrachPerf::m_seqId</a></div><div class="ttdeci">uint8_t m_seqId</div><div class="ttdef"><b>Definition:</b> <a href="prach__performance_8cc_source.html#l00060">prach_performance.cc:60</a></div></div>
+<div class="ttc" id="structxran__prach__config_html_a3b43924c5ef23b0496d1a7adf2752dbf"><div class="ttname"><a href="structxran__prach__config.html#a3b43924c5ef23b0496d1a7adf2752dbf">xran_prach_config::nPrachFreqOffset</a></div><div class="ttdeci">int32_t nPrachFreqOffset</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00442">xran_fh_o_du.h:442</a></div></div>
+<div class="ttc" id="class_prach_perf_html_a0baaeee595bffc14f68fefd762c6fa5a"><div class="ttname"><a href="class_prach_perf.html#a0baaeee595bffc14f68fefd762c6fa5a">PrachPerf::m_occassionsInPrachSlot</a></div><div class="ttdeci">uint8_t m_occassionsInPrachSlot</div><div class="ttdef"><b>Definition:</b> <a href="prach__performance_8cc_source.html#l00083">prach_performance.cc:83</a></div></div>
+<div class="ttc" id="class_kernel_tests_html_a6157ff083be863bba0a7804cd1788d96"><div class="ttname"><a href="class_kernel_tests.html#a6157ff083be863bba0a7804cd1788d96">KernelTests::get_number_of_cases</a></div><div class="ttdeci">static unsigned get_number_of_cases(const std::string &type)</div><div class="ttdef"><b>Definition:</b> <a href="common_8hpp_source.html#l00190">common.hpp:190</a></div></div>
+<div class="ttc" id="class_prach_perf_html_ae0c317f2faf44b0e7bde79d34e00b2e7"><div class="ttname"><a href="class_prach_perf.html#ae0c317f2faf44b0e7bde79d34e00b2e7">PrachPerf::m_SlotNrNum</a></div><div class="ttdeci">uint8_t m_SlotNrNum</div><div class="ttdef"><b>Definition:</b> <a href="prach__performance_8cc_source.html#l00088">prach_performance.cc:88</a></div></div>
+<div class="ttc" id="class_prach_perf_html_a65389015c6ac952ac5108c2ae802fa52"><div class="ttname"><a href="class_prach_perf.html#a65389015c6ac952ac5108c2ae802fa52">PrachPerf::m_frameId</a></div><div class="ttdeci">uint8_t m_frameId</div><div class="ttdef"><b>Definition:</b> <a href="prach__performance_8cc_source.html#l00061">prach_performance.cc:61</a></div></div>
+<div class="ttc" id="class_kernel_tests_html_a3cf2e25a99be565a4ab570737cfeac41"><div class="ttname"><a href="class_kernel_tests.html#a3cf2e25a99be565a4ab570737cfeac41">KernelTests::performance</a></div><div class="ttdeci">void performance(const std::string &isa, const std::string &module_name, F function, Args ... args)</div><div class="ttdoc">Run performance test case for a given function. </div><div class="ttdef"><b>Definition:</b> <a href="common_8hpp_source.html#l00253">common.hpp:253</a></div></div>
+<div class="ttc" id="class_prach_perf_html_ab7158c23dfca189475b254c35ede1da7"><div class="ttname"><a href="class_prach_perf.html#ab7158c23dfca189475b254c35ede1da7">PrachPerf::m_numSymbol</a></div><div class="ttdeci">uint8_t m_numSymbol</div><div class="ttdef"><b>Definition:</b> <a href="prach__performance_8cc_source.html#l00079">prach_performance.cc:79</a></div></div>
+<div class="ttc" id="class_kernel_tests_html"><div class="ttname"><a href="class_kernel_tests.html">KernelTests</a></div><div class="ttdef"><b>Definition:</b> <a href="common_8hpp_source.html#l00156">common.hpp:156</a></div></div>
+<div class="ttc" id="class_prach_perf_html_ac4fca95dc3b93372ce7f2078baf8e8b6"><div class="ttname"><a href="class_prach_perf.html#ac4fca95dc3b93372ce7f2078baf8e8b6">PrachPerf::TearDown</a></div><div class="ttdeci">void TearDown() override</div><div class="ttdef"><b>Definition:</b> <a href="prach__performance_8cc_source.html#l00160">prach_performance.cc:160</a></div></div>
+<div class="ttc" id="class_prach_perf_html_afa13542efadbf6db6e8ddfa388a345c0"><div class="ttname"><a href="class_prach_perf.html#afa13542efadbf6db6e8ddfa388a345c0">PrachPerf::m_subframeId</a></div><div class="ttdeci">uint8_t m_subframeId</div><div class="ttdef"><b>Definition:</b> <a href="prach__performance_8cc_source.html#l00061">prach_performance.cc:61</a></div></div>
+<div class="ttc" id="class_prach_perf_html_a73f8e8274bd97892f58f73d1d83b533a"><div class="ttname"><a href="class_prach_perf.html#a73f8e8274bd97892f58f73d1d83b533a">PrachPerf::m_antId</a></div><div class="ttdeci">uint8_t m_antId</div><div class="ttdef"><b>Definition:</b> <a href="prach__performance_8cc_source.html#l00059">prach_performance.cc:59</a></div></div>
+<div class="ttc" id="structxran__prach__config_html_a5c648c99c04370a4e8767f919a2289bf"><div class="ttname"><a href="structxran__prach__config.html#a5c648c99c04370a4e8767f919a2289bf">xran_prach_config::nPrachFreqStart</a></div><div class="ttdeci">uint16_t nPrachFreqStart</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00441">xran_fh_o_du.h:441</a></div></div>
+<div class="ttc" id="class_prach_perf_html_a047b603d6d908d93ce5d58dcc2b63036"><div class="ttname"><a href="class_prach_perf.html#a047b603d6d908d93ce5d58dcc2b63036">PrachPerf::m_beamId</a></div><div class="ttdeci">uint16_t m_beamId</div><div class="ttdef"><b>Definition:</b> <a href="prach__performance_8cc_source.html#l00066">prach_performance.cc:66</a></div></div>
+<div class="ttc" id="class_prach_perf_html_a7f021a016314b5d3a9bb095c5c08048f"><div class="ttname"><a href="class_prach_perf.html#a7f021a016314b5d3a9bb095c5c08048f">PrachPerf::m_slotId</a></div><div class="ttdeci">uint8_t m_slotId</div><div class="ttdef"><b>Definition:</b> <a href="prach__performance_8cc_source.html#l00061">prach_performance.cc:61</a></div></div>
+<div class="ttc" id="structxran__recv__packet__info_html"><div class="ttname"><a href="structxran__recv__packet__info.html">xran_recv_packet_info</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__transport_8h_source.html#l00047">xran_transport.h:47</a></div></div>
+<div class="ttc" id="class_prach_perf_html_a1d28f82423abf4fde782a34ae064aea9"><div class="ttname"><a href="class_prach_perf.html#a1d28f82423abf4fde782a34ae064aea9">PrachPerf::m_startSymId</a></div><div class="ttdeci">uint8_t m_startSymId</div><div class="ttdef"><b>Definition:</b> <a href="prach__performance_8cc_source.html#l00074">prach_performance.cc:74</a></div></div>
+<div class="ttc" id="class_prach_perf_html_acb7ae6f5547d5e166b643084db28b2fa"><div class="ttname"><a href="class_prach_perf.html#acb7ae6f5547d5e166b643084db28b2fa">PrachPerf::m_xranConf</a></div><div class="ttdeci">struct xran_fh_config m_xranConf</div><div class="ttdef"><b>Definition:</b> <a href="prach__performance_8cc_source.html#l00040">prach_performance.cc:40</a></div></div>
+<div class="ttc" id="structxran__frame__config_html_a3b86317723a592e240c0047e53a6326d"><div class="ttname"><a href="structxran__frame__config.html#a3b86317723a592e240c0047e53a6326d">xran_frame_config::nFrameDuplexType</a></div><div class="ttdeci">uint8_t nFrameDuplexType</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00460">xran_fh_o_du.h:460</a></div></div>
+<div class="ttc" id="structxran__device__ctx_html"><div class="ttname"><a href="structxran__device__ctx.html">xran_device_ctx</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__common_8h_source.html#l00203">xran_common.h:203</a></div></div>
+<div class="ttc" id="class_prach_perf_html_a45887981986f86c7811031b354fb4a36"><div class="ttname"><a href="class_prach_perf.html#a45887981986f86c7811031b354fb4a36">PrachPerf::m_pPrachCPConfig</a></div><div class="ttdeci">struct xran_prach_cp_config * m_pPrachCPConfig</div><div class="ttdef"><b>Definition:</b> <a href="prach__performance_8cc_source.html#l00043">prach_performance.cc:43</a></div></div>
+<div class="ttc" id="class_prach_perf_html_af2657f421b39bfe018266cfe11d27b51"><div class="ttname"><a href="class_prach_perf.html#af2657f421b39bfe018266cfe11d27b51">PrachPerf::m_numPrbc</a></div><div class="ttdeci">uint8_t m_numPrbc</div><div class="ttdef"><b>Definition:</b> <a href="prach__performance_8cc_source.html#l00078">prach_performance.cc:78</a></div></div>
+<div class="ttc" id="common_8hpp_html"><div class="ttname"><a href="common_8hpp.html">common.hpp</a></div></div>
+<div class="ttc" id="class_prach_perf_html_aa42dde0a7ce436df7e5b607d17d52668"><div class="ttname"><a href="class_prach_perf.html#aa42dde0a7ce436df7e5b607d17d52668">PrachPerf::m_result</a></div><div class="ttdeci">struct xran_cp_gen_params m_result</div><div class="ttdef"><b>Definition:</b> <a href="prach__performance_8cc_source.html#l00053">prach_performance.cc:53</a></div></div>
+<div class="ttc" id="xran__common_8h_html_a00025c5bad7b7b6eea4374226f8c54bb"><div class="ttname"><a href="xran__common_8h.html#a00025c5bad7b7b6eea4374226f8c54bb">xran_init_prach</a></div><div class="ttdeci">int xran_init_prach(struct xran_fh_config *pConf, struct xran_device_ctx *p_xran_dev_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="xran__main_8c_source.html#l00308">xran_main.c:308</a></div></div>
+<div class="ttc" id="class_prach_perf_html_a88a1f1ad78450f64aab4fa3f6499060a"><div class="ttname"><a href="class_prach_perf.html#a88a1f1ad78450f64aab4fa3f6499060a">PrachPerf::m_symNum</a></div><div class="ttdeci">uint8_t m_symNum</div><div class="ttdef"><b>Definition:</b> <a href="prach__performance_8cc_source.html#l00062">prach_performance.cc:62</a></div></div>
+<div class="ttc" id="prach__performance_8cc_html_a69b4bff6061152ff85770d725cced3cc"><div class="ttname"><a href="prach__performance_8cc.html#a69b4bff6061152ff85770d725cced3cc">module_name</a></div><div class="ttdeci">const std::string module_name</div><div class="ttdef"><b>Definition:</b> <a href="prach__performance_8cc_source.html#l00030">prach_performance.cc:30</a></div></div>
+<div class="ttc" id="ethernet_8h_html"><div class="ttname"><a href="ethernet_8h.html">ethernet.h</a></div><div class="ttdoc">This file has all definitions for the Ethernet Data Interface Layer. </div></div>
+<div class="ttc" id="structxran__fh__config_html_a583c2f58d0655789ea36e22d605ab9ad"><div class="ttname"><a href="structxran__fh__config.html#a583c2f58d0655789ea36e22d605ab9ad">xran_fh_config::log_level</a></div><div class="ttdeci">uint32_t log_level</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00523">xran_fh_o_du.h:523</a></div></div>
+<div class="ttc" id="xran__common_8h_html_af7a48e76794ce5d801ab6d0f848abb53"><div class="ttname"><a href="xran__common_8h.html#af7a48e76794ce5d801ab6d0f848abb53">XRAN_PRACH_CANDIDATE_SLOT</a></div><div class="ttdeci">#define XRAN_PRACH_CANDIDATE_SLOT</div><div class="ttdef"><b>Definition:</b> <a href="xran__common_8h_source.html#l00080">xran_common.h:80</a></div></div>
+<div class="ttc" id="prach__performance_8cc_html_a540e426541deb753f7c69d8df5d5b090"><div class="ttname"><a href="prach__performance_8cc.html#a540e426541deb753f7c69d8df5d5b090">performance_cp</a></div><div class="ttdeci">void performance_cp(void *pHandle, struct xran_cp_gen_params *params, struct xran_section_gen_info *sect_geninfo, struct xran_device_ctx *pxran_lib_ctx, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint16_t beam_id, uint8_t cc_id, uint8_t prach_port_id, uint8_t seq_id)</div><div class="ttdef"><b>Definition:</b> <a href="prach__performance_8cc_source.html#l00172">prach_performance.cc:172</a></div></div>
+<div class="ttc" id="class_prach_perf_html_a16c92b16fc21a700c50a7faf19da41b9"><div class="ttname"><a href="class_prach_perf.html#a16c92b16fc21a700c50a7faf19da41b9">PrachPerf::m_params</a></div><div class="ttdeci">struct xran_cp_gen_params m_params</div><div class="ttdef"><b>Definition:</b> <a href="prach__performance_8cc_source.html#l00051">prach_performance.cc:51</a></div></div>
+<div class="ttc" id="class_prach_perf_html_aee24498b1349e41e8e14f822c6bd8fff"><div class="ttname"><a href="class_prach_perf.html#aee24498b1349e41e8e14f822c6bd8fff">PrachPerf::m_prach_start_symbol</a></div><div class="ttdeci">int m_prach_start_symbol</div><div class="ttdef"><b>Definition:</b> <a href="prach__performance_8cc_source.html#l00086">prach_performance.cc:86</a></div></div>
+<div class="ttc" id="structxran__fh__config_html_a72b0cba491d0dd2703d684cb2c2a14cf"><div class="ttname"><a href="structxran__fh__config.html#a72b0cba491d0dd2703d684cb2c2a14cf">xran_fh_config::frame_conf</a></div><div class="ttdeci">struct xran_frame_config frame_conf</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00517">xran_fh_o_du.h:517</a></div></div>
+<div class="ttc" id="class_prach_perf_html_a9ef01047ab319b03151146a47e4516c4"><div class="ttname"><a href="class_prach_perf.html#a9ef01047ab319b03151146a47e4516c4">PrachPerf::m_isPRACHslot</a></div><div class="ttdeci">uint8_t m_isPRACHslot[XRAN_PRACH_CANDIDATE_SLOT]</div><div class="ttdef"><b>Definition:</b> <a href="prach__performance_8cc_source.html#l00085">prach_performance.cc:85</a></div></div>
+<div class="ttc" id="class_prach_perf_html_a8afca7ac895ea509b38432d1b45bff55"><div class="ttname"><a href="class_prach_perf.html#a8afca7ac895ea509b38432d1b45bff55">PrachPerf::m_pSectGenInfo</a></div><div class="ttdeci">struct xran_section_gen_info * m_pSectGenInfo</div><div class="ttdef"><b>Definition:</b> <a href="prach__performance_8cc_source.html#l00045">prach_performance.cc:45</a></div></div>
+<div class="ttc" id="structxran__prach__config_html"><div class="ttname"><a href="structxran__prach__config.html">xran_prach_config</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00429">xran_fh_o_du.h:429</a></div></div>
+<div class="ttc" id="structxran__prach__cp__config_html"><div class="ttname"><a href="structxran__prach__cp__config.html">xran_prach_cp_config</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__common_8h_source.html#l00125">xran_common.h:125</a></div></div>
+<div class="ttc" id="class_prach_perf_html_aafa40e823e408268e48585ec7a623eae"><div class="ttname"><a href="class_prach_perf.html#aafa40e823e408268e48585ec7a623eae">PrachPerf::m_pTestBuffer</a></div><div class="ttdeci">struct rte_mbuf * m_pTestBuffer</div><div class="ttdef"><b>Definition:</b> <a href="prach__performance_8cc_source.html#l00049">prach_performance.cc:49</a></div></div>
+<div class="ttc" id="class_prach_perf_html_aa6a94180919a3f3827f581cb9b6038ef"><div class="ttname"><a href="class_prach_perf.html#aa6a94180919a3f3827f581cb9b6038ef">PrachPerf::m_filterIdx</a></div><div class="ttdeci">uint8_t m_filterIdx</div><div class="ttdef"><b>Definition:</b> <a href="prach__performance_8cc_source.html#l00076">prach_performance.cc:76</a></div></div>
+<div class="ttc" id="structxran__fh__config_html"><div class="ttname"><a href="structxran__fh__config.html">xran_fh_config</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00497">xran_fh_o_du.h:497</a></div></div>
+<div class="ttc" id="class_kernel_tests_html_abf28e5ea54fab2b0685972fe6e75560a"><div class="ttname"><a href="class_kernel_tests.html#abf28e5ea54fab2b0685972fe6e75560a">KernelTests::init_test</a></div><div class="ttdeci">void init_test(const std::string &type)</div><div class="ttdoc">Defines section in the conf.json that is used to load parameters from. </div><div class="ttdef"><b>Definition:</b> <a href="common_8hpp_source.html#l00358">common.hpp:358</a></div></div>
+<div class="ttc" id="ethernet_8c_html_a8d83e3adb6c9e839b3b7259288f100ba"><div class="ttname"><a href="ethernet_8c.html#a8d83e3adb6c9e839b3b7259288f100ba">_eth_mbuf_pool</a></div><div class="ttdeci">struct rte_mempool * _eth_mbuf_pool</div><div class="ttdef"><b>Definition:</b> <a href="ethernet_8c_source.html#l00070">ethernet.c:70</a></div></div>
+<div class="ttc" id="class_prach_perf_html_a9c4d35a4cce2560e384f2fe95c4c341f"><div class="ttname"><a href="class_prach_perf.html#a9c4d35a4cce2560e384f2fe95c4c341f">PrachPerf::m_sectionId</a></div><div class="ttdeci">uint16_t m_sectionId</div><div class="ttdef"><b>Definition:</b> <a href="prach__performance_8cc_source.html#l00068">prach_performance.cc:68</a></div></div>
+<div class="ttc" id="structxran__fh__config_html_a167e91cb91119363bf10c9430b6f082c"><div class="ttname"><a href="structxran__fh__config.html#a167e91cb91119363bf10c9430b6f082c">xran_fh_config::prach_conf</a></div><div class="ttdeci">struct xran_prach_config prach_conf</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00515">xran_fh_o_du.h:515</a></div></div>
+<div class="ttc" id="class_prach_perf_html_a3a1707f6479611fdc609a3eb8a0cef1b"><div class="ttname"><a href="class_prach_perf.html#a3a1707f6479611fdc609a3eb8a0cef1b">PrachPerf::SetUp</a></div><div class="ttdeci">void SetUp() override</div><div class="ttdef"><b>Definition:</b> <a href="prach__performance_8cc_source.html#l00091">prach_performance.cc:91</a></div></div>
+<div class="ttc" id="class_prach_perf_html_a431f2e351a321b762ccd64984d566913"><div class="ttname"><a href="class_prach_perf.html#a431f2e351a321b762ccd64984d566913">PrachPerf::m_pktInfo</a></div><div class="ttdeci">struct xran_recv_packet_info m_pktInfo</div><div class="ttdef"><b>Definition:</b> <a href="prach__performance_8cc_source.html#l00052">prach_performance.cc:52</a></div></div>
+<div class="ttc" id="xran__common_8h_html_a342c40a4877f7760c65eca32523efea1"><div class="ttname"><a href="xran__common_8h.html#a342c40a4877f7760c65eca32523efea1">XRAN_PRACH_CANDIDATE_Y</a></div><div class="ttdeci">#define XRAN_PRACH_CANDIDATE_Y</div><div class="ttdef"><b>Definition:</b> <a href="xran__common_8h_source.html#l00079">xran_common.h:79</a></div></div>
+<div class="ttc" id="structxran__frame__config_html_a78b2fab8e8d6a6424c2712d528fd9a58"><div class="ttname"><a href="structxran__frame__config.html#a78b2fab8e8d6a6424c2712d528fd9a58">xran_frame_config::nNumerology</a></div><div class="ttdeci">uint8_t nNumerology</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00461">xran_fh_o_du.h:461</a></div></div>
+<div class="ttc" id="class_prach_perf_html_aba23eca36e0c5cc06d74919fa5fe0dd6"><div class="ttname"><a href="class_prach_perf.html#aba23eca36e0c5cc06d74919fa5fe0dd6">PrachPerf::m_symStart</a></div><div class="ttdeci">uint8_t m_symStart</div><div class="ttdef"><b>Definition:</b> <a href="prach__performance_8cc_source.html#l00062">prach_performance.cc:62</a></div></div>
+<div class="ttc" id="class_prach_perf_html"><div class="ttname"><a href="class_prach_perf.html">PrachPerf</a></div><div class="ttdef"><b>Definition:</b> <a href="prach__performance_8cc_source.html#l00033">prach_performance.cc:33</a></div></div>
+<div class="ttc" id="class_prach_perf_html_a5067ab67bdb57355a12a0282ced79bdc"><div class="ttname"><a href="class_prach_perf.html#a5067ab67bdb57355a12a0282ced79bdc">PrachPerf::m_y</a></div><div class="ttdeci">uint8_t m_y[XRAN_PRACH_CANDIDATE_Y]</div><div class="ttdef"><b>Definition:</b> <a href="prach__performance_8cc_source.html#l00084">prach_performance.cc:84</a></div></div>
+<div class="ttc" id="class_prach_perf_html_abc4c88e1904502c47099799767ea3991"><div class="ttname"><a href="class_prach_perf.html#abc4c88e1904502c47099799767ea3991">PrachPerf::m_sectionType</a></div><div class="ttdeci">uint8_t m_sectionType</div><div class="ttdef"><b>Definition:</b> <a href="prach__performance_8cc_source.html#l00057">prach_performance.cc:57</a></div></div>
+<div class="ttc" id="xran__common_8h_html"><div class="ttname"><a href="xran__common_8h.html">xran_common.h</a></div><div class="ttdoc">XRAN layer common functionality for both lls-CU and RU as well as C-plane and U-plane. </div></div>
+<div class="ttc" id="class_prach_perf_html_a7a8bdb868f3812cf7270734d13159255"><div class="ttname"><a href="class_prach_perf.html#a7a8bdb868f3812cf7270734d13159255">PrachPerf::m_fftSize</a></div><div class="ttdeci">uint8_t m_fftSize</div><div class="ttdef"><b>Definition:</b> <a href="prach__performance_8cc_source.html#l00071">prach_performance.cc:71</a></div></div>
+<div class="ttc" id="structxran__cp__gen__params_html"><div class="ttname"><a href="structxran__cp__gen__params.html">xran_cp_gen_params</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__cp__api_8h_source.html#l00315">xran_cp_api.h:315</a></div></div>
+<div class="ttc" id="class_prach_perf_html_a81096035b0802bc24810c07ca13df7e9"><div class="ttname"><a href="class_prach_perf.html#a81096035b0802bc24810c07ca13df7e9">PrachPerf::m_prbNum</a></div><div class="ttdeci">uint16_t * m_prbNum</div><div class="ttdef"><b>Definition:</b> <a href="prach__performance_8cc_source.html#l00063">prach_performance.cc:63</a></div></div>
+<div class="ttc" id="class_prach_perf_html_acef6d7b2a1494b7d98e70d4759875349"><div class="ttname"><a href="class_prach_perf.html#acef6d7b2a1494b7d98e70d4759875349">PrachPerf::m_startPrbc</a></div><div class="ttdeci">uint16_t m_startPrbc</div><div class="ttdef"><b>Definition:</b> <a href="prach__performance_8cc_source.html#l00077">prach_performance.cc:77</a></div></div>
+<div class="ttc" id="class_prach_perf_html_a4bb0d1ca82a59555014c6c0e1060cbdf"><div class="ttname"><a href="class_prach_perf.html#a4bb0d1ca82a59555014c6c0e1060cbdf">PrachPerf::m_dirStr</a></div><div class="ttdeci">std::string m_dirStr</div><div class="ttdef"><b>Definition:</b> <a href="prach__performance_8cc_source.html#l00056">prach_performance.cc:56</a></div></div>
+<div class="ttc" id="class_prach_perf_html_a21909f3922fb3485559575d6252575aa"><div class="ttname"><a href="class_prach_perf.html#a21909f3922fb3485559575d6252575aa">PrachPerf::m_pPRACHConfig</a></div><div class="ttdeci">struct xran_prach_config * m_pPRACHConfig</div><div class="ttdef"><b>Definition:</b> <a href="prach__performance_8cc_source.html#l00042">prach_performance.cc:42</a></div></div>
+<div class="ttc" id="class_prach_perf_html_a9f102f8bfc163d6a26411d1855c8c97c"><div class="ttname"><a href="class_prach_perf.html#a9f102f8bfc163d6a26411d1855c8c97c">PrachPerf::m_ccId</a></div><div class="ttdeci">uint8_t m_ccId</div><div class="ttdef"><b>Definition:</b> <a href="prach__performance_8cc_source.html#l00059">prach_performance.cc:59</a></div></div>
+<div class="ttc" id="prach__performance_8cc_html_ab4e27bca35e8082ffbe84519993b0e47"><div class="ttname"><a href="prach__performance_8cc.html#ab4e27bca35e8082ffbe84519993b0e47">INSTANTIATE_TEST_CASE_P</a></div><div class="ttdeci">INSTANTIATE_TEST_CASE_P(UnitTest, PrachPerf, testing::ValuesIn(get_sequence(PrachPerf::get_number_of_cases("prach_performance"))))</div></div>
+<div class="ttc" id="xran__fh__o__du_8h_html"><div class="ttname"><a href="xran__fh__o__du_8h.html">xran_fh_o_du.h</a></div><div class="ttdoc">This file provides public interface to xRAN Front Haul layer implementation as defined in the ORAN-WG...</div></div>
+<div class="ttc" id="class_prach_perf_html_a493740cacd8f8d3e235c4626e501d3e2"><div class="ttname"><a href="class_prach_perf.html#a493740cacd8f8d3e235c4626e501d3e2">PrachPerf::m_compMethod</a></div><div class="ttdeci">uint8_t m_compMethod</div><div class="ttdef"><b>Definition:</b> <a href="prach__performance_8cc_source.html#l00065">prach_performance.cc:65</a></div></div>
+<div class="ttc" id="structxran__device__ctx_html_ac1db3db55038ef0b2f69827746eaf87c"><div class="ttname"><a href="structxran__device__ctx.html#ac1db3db55038ef0b2f69827746eaf87c">xran_device_ctx::PrachCPConfig</a></div><div class="ttdeci">struct xran_prach_cp_config PrachCPConfig</div><div class="ttdef"><b>Definition:</b> <a href="xran__common_8h_source.html#l00210">xran_common.h:210</a></div></div>
+<div class="ttc" id="class_prach_perf_html_afa985909bf1a1a9cc7a7070c9a73016e"><div class="ttname"><a href="class_prach_perf.html#afa985909bf1a1a9cc7a7070c9a73016e">PrachPerf::m_dir</a></div><div class="ttdeci">uint8_t m_dir</div><div class="ttdef"><b>Definition:</b> <a href="prach__performance_8cc_source.html#l00055">prach_performance.cc:55</a></div></div>
+<div class="ttc" id="class_prach_perf_html_a8c2ff60cb0ad0f81eafada59dc92c4c6"><div class="ttname"><a href="class_prach_perf.html#a8c2ff60cb0ad0f81eafada59dc92c4c6">PrachPerf::m_nrofPrachInSlot</a></div><div class="ttdeci">uint8_t m_nrofPrachInSlot</div><div class="ttdef"><b>Definition:</b> <a href="prach__performance_8cc_source.html#l00082">prach_performance.cc:82</a></div></div>
+<div class="ttc" id="structxran__cp__gen__params_html_a5921f2439294279b8111fed577c5c37a"><div class="ttname"><a href="structxran__cp__gen__params.html#a5921f2439294279b8111fed577c5c37a">xran_cp_gen_params::sections</a></div><div class="ttdeci">struct xran_section_gen_info * sections</div><div class="ttdef"><b>Definition:</b> <a href="xran__cp__api_8h_source.html#l00322">xran_cp_api.h:322</a></div></div>
+<div class="ttc" id="prach__performance_8cc_html_a048e029f091d3d395e44cc24b3f197ee"><div class="ttname"><a href="prach__performance_8cc.html#a048e029f091d3d395e44cc24b3f197ee">TEST_P</a></div><div class="ttdeci">TEST_P(PrachPerf, PacketGen)</div><div class="ttdef"><b>Definition:</b> <a href="prach__performance_8cc_source.html#l00189">prach_performance.cc:189</a></div></div>
+<div class="ttc" id="class_prach_perf_html_a95b34835c7215dd09bdfdd82698c1232"><div class="ttname"><a href="class_prach_perf.html#a95b34835c7215dd09bdfdd82698c1232">PrachPerf::m_x</a></div><div class="ttdeci">uint8_t m_x</div><div class="ttdef"><b>Definition:</b> <a href="prach__performance_8cc_source.html#l00075">prach_performance.cc:75</a></div></div>
+<div class="ttc" id="structxran__section__gen__info_html"><div class="ttname"><a href="structxran__section__gen__info.html">xran_section_gen_info</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__cp__api_8h_source.html#l00295">xran_cp_api.h:295</a></div></div>
+<div class="ttc" id="class_prach_perf_html_ae68e73b40ca04879362dc67fbb368682"><div class="ttname"><a href="class_prach_perf.html#ae68e73b40ca04879362dc67fbb368682">PrachPerf::m_maxSections</a></div><div class="ttdeci">int m_maxSections</div><div class="ttdef"><b>Definition:</b> <a href="prach__performance_8cc_source.html#l00046">prach_performance.cc:46</a></div></div>
+<div class="ttc" id="structxran__prach__config_html_acb5fe8097b0115e038eb02d5900f66d6"><div class="ttname"><a href="structxran__prach__config.html#acb5fe8097b0115e038eb02d5900f66d6">xran_prach_config::nPrachConfIdx</a></div><div class="ttdeci">uint8_t nPrachConfIdx</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00432">xran_fh_o_du.h:432</a></div></div>
+<div class="ttc" id="class_prach_perf_html_ab4be4cfb9be32a9a6c516f5cfbae0d6f"><div class="ttname"><a href="class_prach_perf.html#ab4be4cfb9be32a9a6c516f5cfbae0d6f">PrachPerf::m_reMask</a></div><div class="ttdeci">uint16_t m_reMask</div><div class="ttdef"><b>Definition:</b> <a href="prach__performance_8cc_source.html#l00067">prach_performance.cc:67</a></div></div>
+<div class="ttc" id="class_prach_perf_html_a59b4057d63386649d2facf030a08fa0e"><div class="ttname"><a href="class_prach_perf.html#a59b4057d63386649d2facf030a08fa0e">PrachPerf::m_prbStart</a></div><div class="ttdeci">uint16_t * m_prbStart</div><div class="ttdef"><b>Definition:</b> <a href="prach__performance_8cc_source.html#l00063">prach_performance.cc:63</a></div></div>
+<div class="ttc" id="common_8cpp_html_a39bf4f7770751080f5b72046abfd01a5"><div class="ttname"><a href="common_8cpp.html#a39bf4f7770751080f5b72046abfd01a5">get_sequence</a></div><div class="ttdeci">std::vector< unsigned > get_sequence(const unsigned number)</div><div class="ttdoc">For a given number return sequence of number from 0 to number - 1. </div><div class="ttdef"><b>Definition:</b> <a href="common_8cpp_source.html#l00078">common.cpp:78</a></div></div>
+<div class="ttc" id="class_prach_perf_html_a9c9ab811b57b6250d1712aa6e59c0853"><div class="ttname"><a href="class_prach_perf.html#a9c9ab811b57b6250d1712aa6e59c0853">PrachPerf::m_freqOffset</a></div><div class="ttdeci">int32_t m_freqOffset</div><div class="ttdef"><b>Definition:</b> <a href="prach__performance_8cc_source.html#l00081">prach_performance.cc:81</a></div></div>
+<div class="ttc" id="xran__cp__api_8h_html"><div class="ttname"><a href="xran__cp__api_8h.html">xran_cp_api.h</a></div><div class="ttdoc">This file provides the definitions for Control Plane Messages APIs. </div></div>
+<div class="ttc" id="class_prach_perf_html_a509c970617e65a99c8120eef3d309bcb"><div class="ttname"><a href="class_prach_perf.html#a509c970617e65a99c8120eef3d309bcb">PrachPerf::m_timeOffset</a></div><div class="ttdeci">uint16_t m_timeOffset</div><div class="ttdef"><b>Definition:</b> <a href="prach__performance_8cc_source.html#l00080">prach_performance.cc:80</a></div></div>
+<div class="ttc" id="class_prach_perf_html_adfa9d2df36650f369b04652749c1134b"><div class="ttname"><a href="class_prach_perf.html#adfa9d2df36650f369b04652749c1134b">PrachPerf::m_filterIndex</a></div><div class="ttdeci">uint8_t m_filterIndex</div><div class="ttdef"><b>Definition:</b> <a href="prach__performance_8cc_source.html#l00069">prach_performance.cc:69</a></div></div>
+<div class="ttc" id="structxran__prach__config_html_ab9b99e41ea39f16780f66a539aa872c8"><div class="ttname"><a href="structxran__prach__config.html#ab9b99e41ea39f16780f66a539aa872c8">xran_prach_config::nPrachSubcSpacing</a></div><div class="ttdeci">uint8_t nPrachSubcSpacing</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00433">xran_fh_o_du.h:433</a></div></div>
+<div class="ttc" id="xran__transport_8h_html"><div class="ttname"><a href="xran__transport_8h.html">xran_transport.h</a></div><div class="ttdoc">This file provides the definitions for Transport layer (eCPRI) API. </div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by  <a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.13
+</small></address>
+</body>
+</html>