Sophie

Sophie

distrib > Fedora > 14 > x86_64 > media > updates > by-pkgid > 6e7a2755bd78c9deedab199b86e675f3 > files > 2084

gnuradio-doc-3.2.2-9.fc14.x86_64.rpm

<!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"/>
<title>GNU Radio 3.2.2 C++ API: gr_test Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.3 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">GNU Radio 3.2.2 C++ API</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('classgr__test.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="#friends">Friends</a>  </div>
  <div class="headertitle">
<h1>gr_test Class Reference<div class="ingroups"><a class="el" href="group__misc.html">Miscellaneous</a></div></h1>  </div>
</div>
<div class="contents">
<!-- doxytag: class="gr_test" --><!-- doxytag: inherits="gr_block" -->
<p>Test class for testing runtime system (setting up buffers and such.)This block does not do any usefull actual data processing. It just exposes setting all standard block parameters using the contructor or public methods.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="gr__test_8h_source.html">gr_test.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for gr_test:</div>
<div class="dyncontent">
<div class="center"><img src="classgr__test__inherit__graph.png" border="0" usemap="#gr__test_inherit__map" alt="Inheritance graph"/></div>
<map name="gr__test_inherit__map" id="gr__test_inherit__map">
<area shape="rect" id="node2" href="classgr__block.html" title="The abstract base class for all &#39;terminal&#39; processing blocks.A signal processing flow is cons..." alt="" coords="25,83,95,112"/><area shape="rect" id="node4" href="classgr__basic__block.html" title="The abstract base class for all signal processing blocks.Basic blocks are the bare abstraction of an ..." alt="" coords="5,5,115,35"/></map>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="classgr__test-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgr__test.html#a63e7ef2d796c5e4afc570b163c8ccd61">~gr_test</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgr__test.html#a871aa0cd617be4a13e5cb036bdb55cd7">general_work</a> (int noutput_items, <a class="el" href="classstd_1_1vector.html">gr_vector_int</a> &amp;ninput_items, <a class="el" href="classstd_1_1vector.html">gr_vector_const_void_star</a> &amp;input_items, <a class="el" href="classstd_1_1vector.html">gr_vector_void_star</a> &amp;output_items)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">compute output items from input items  <a href="#a871aa0cd617be4a13e5cb036bdb55cd7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgr__test.html#a066f8bfd35652cf2f9394bee8e61dc50">forecast</a> (int noutput_items, <a class="el" href="classstd_1_1vector.html">gr_vector_int</a> &amp;ninput_items_required)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Estimate input requirements given output request.  <a href="#a066f8bfd35652cf2f9394bee8e61dc50"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgr__test.html#a5d96333a3756b37fe54a6a3f88866b64">set_check_topology</a> (<a class="el" href="gc__types_8h.html#a0f2b5d454b7e4dda3861032cfce91085">bool</a> check_topology)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Force check topology to return true or false.  <a href="#a5d96333a3756b37fe54a6a3f88866b64"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="gc__types_8h.html#a0f2b5d454b7e4dda3861032cfce91085">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgr__test.html#ac9924b05718346c0cf3d231f2a82474b">check_topology</a> (int ninputs, int noutputs)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Confirm that ninputs and noutputs is an acceptable combination.  <a href="#ac9924b05718346c0cf3d231f2a82474b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgr__test.html#abd560ba788790b052bcdf55c40fe203b">fixed_rate_ninput_to_noutput</a> (int ninput)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Given ninput samples, return number of output samples that will be produced. N.B. this is only defined if fixed_rate returns true. Generally speaking, you don't need to override this.  <a href="#abd560ba788790b052bcdf55c40fe203b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgr__test.html#abb33a7036cbb39bcfeacf22c6352b50b">fixed_rate_noutput_to_ninput</a> (int noutput)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Given noutput samples, return number of input samples required to produce noutput. N.B. this is only defined if fixed_rate returns true.  <a href="#abb33a7036cbb39bcfeacf22c6352b50b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgr__test.html#a7aa4753ba5e757786726f7dd29118199">set_fixed_rate_public</a> (<a class="el" href="gc__types_8h.html#a0f2b5d454b7e4dda3861032cfce91085">bool</a> fixed_rate)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set if fixed rate should return true. N.B. This is normally a private method but we make it available here as public.  <a href="#a7aa4753ba5e757786726f7dd29118199"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgr__test.html#a0134531834988f75b8c7f64968005516">set_consume_type</a> (<a class="el" href="gr__test__types_8h.html#a7e11c1089ad4d0f3c0d4c0cea0281fa6">gr_consume_type_t</a> cons_type)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the consume pattern.  <a href="#a0134531834988f75b8c7f64968005516"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgr__test.html#a866d8cbba629307e5e976339048c0234">set_consume_limit</a> (unsigned int limit)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the consume limit.  <a href="#a866d8cbba629307e5e976339048c0234"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgr__test.html#a607096450cf5b6e967f35b5e82d918e0">set_produce_type</a> (<a class="el" href="gr__test__types_8h.html#afc8b997c194075e5d0d5cb793e829329">gr_produce_type_t</a> prod_type)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the produce pattern.  <a href="#a607096450cf5b6e967f35b5e82d918e0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgr__test.html#ae47866bc4ef06e4cca54d7a015b4532e">set_produce_limit</a> (unsigned int limit)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the produce limit.  <a href="#ae47866bc4ef06e4cca54d7a015b4532e"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgr__test.html#a0de0cde25f060628652711db1fa75909">gr_test</a> (const std::string &amp;name, int min_inputs, int max_inputs, unsigned int sizeof_input_item, int min_outputs, int max_outputs, unsigned int sizeof_output_item, unsigned int history, unsigned int output_multiple, double relative_rate, <a class="el" href="gc__types_8h.html#a0f2b5d454b7e4dda3861032cfce91085">bool</a> fixed_rate, <a class="el" href="gr__test__types_8h.html#a7e11c1089ad4d0f3c0d4c0cea0281fa6">gr_consume_type_t</a> cons_type, <a class="el" href="gr__test__types_8h.html#afc8b997c194075e5d0d5cb793e829329">gr_produce_type_t</a> prod_type)</td></tr>
<tr><td colspan="2"><h2><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgr__test.html#aa3c203116c6bc15fdf7b1c5750562627">d_sizeof_input_item</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgr__test.html#a861e0e31303892e9acffa5a3be04f9aa">d_sizeof_output_item</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="gc__types_8h.html#a0f2b5d454b7e4dda3861032cfce91085">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgr__test.html#ae073453777b26e35d98165c888f73b54">d_check_topology</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgr__test.html#a7ac1f9d9aa0cc701f08da9b4211e5346">d_temp</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="gr__test__types_8h.html#a7e11c1089ad4d0f3c0d4c0cea0281fa6">gr_consume_type_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgr__test.html#ac2dcb99dc170b465b063624d2082a792">d_consume_type</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgr__test.html#a80c41a7a262059c6c7b7b3b77bb3203d">d_min_consume</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgr__test.html#ae069b12d1c283923f1d64176d49a2a88">d_max_consume</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="gr__test__types_8h.html#afc8b997c194075e5d0d5cb793e829329">gr_produce_type_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgr__test.html#a51d2a008941c2ff0e0bad38b66a57f87">d_produce_type</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgr__test.html#ab413d9a967b53cd273e84eacc0392e05">d_min_produce</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgr__test.html#a595d614900bcb35deaaa932823cf1adc">d_max_produce</a></td></tr>
<tr><td colspan="2"><h2><a name="friends"></a>
Friends</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1shared__ptr.html">gr_test_sptr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgr__test.html#a51e81abce2488c724ba9a90d805933b1">gr_make_test</a> (const std::string &amp;name, int min_inputs, int max_inputs, unsigned int sizeof_input_item, int min_outputs, int max_outputs, unsigned int sizeof_output_item, unsigned int history, unsigned int output_multiple, double relative_rate, <a class="el" href="gc__types_8h.html#a0f2b5d454b7e4dda3861032cfce91085">bool</a> fixed_rate, <a class="el" href="gr__test__types_8h.html#a7e11c1089ad4d0f3c0d4c0cea0281fa6">gr_consume_type_t</a> cons_type, <a class="el" href="gr__test__types_8h.html#afc8b997c194075e5d0d5cb793e829329">gr_produce_type_t</a> prod_type)</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Test class for testing runtime system (setting up buffers and such.)</p>
<p>This block does not do any usefull actual data processing. It just exposes setting all standard block parameters using the contructor or public methods. </p>
<p>This block can be usefull when testing the runtime system. You can force this block to have a large history, decimation factor and/or large output_multiple. The runtime system should detect this and create large enough buffers all through the signal chain. </p>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a63e7ef2d796c5e4afc570b163c8ccd61"></a><!-- doxytag: member="gr_test::~gr_test" ref="a63e7ef2d796c5e4afc570b163c8ccd61" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">gr_test::~gr_test </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a0de0cde25f060628652711db1fa75909"></a><!-- doxytag: member="gr_test::gr_test" ref="a0de0cde25f060628652711db1fa75909" args="(const std::string &amp;name, int min_inputs, int max_inputs, unsigned int sizeof_input_item, int min_outputs, int max_outputs, unsigned int sizeof_output_item, unsigned int history, unsigned int output_multiple, double relative_rate, bool fixed_rate, gr_consume_type_t cons_type, gr_produce_type_t prod_type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">gr_test::gr_test </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>min_inputs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>max_inputs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>sizeof_input_item</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>min_outputs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>max_outputs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>sizeof_output_item</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>history</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>output_multiple</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>relative_rate</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="gc__types_8h.html#a0f2b5d454b7e4dda3861032cfce91085">bool</a>&#160;</td>
          <td class="paramname"><em>fixed_rate</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="gr__test__types_8h.html#a7e11c1089ad4d0f3c0d4c0cea0281fa6">gr_consume_type_t</a>&#160;</td>
          <td class="paramname"><em>cons_type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="gr__test__types_8h.html#afc8b997c194075e5d0d5cb793e829329">gr_produce_type_t</a>&#160;</td>
          <td class="paramname"><em>prod_type</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="ac9924b05718346c0cf3d231f2a82474b"></a><!-- doxytag: member="gr_test::check_topology" ref="ac9924b05718346c0cf3d231f2a82474b" args="(int ninputs, int noutputs)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="gc__types_8h.html#a0f2b5d454b7e4dda3861032cfce91085">bool</a> gr_test::check_topology </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>ninputs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>noutputs</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Confirm that ninputs and noutputs is an acceptable combination. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">ninputs</td><td>number of input streams connected </td></tr>
    <tr><td class="paramname">noutputs</td><td>number of output streams connected</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if this is a valid configuration for this block.</dd></dl>
<p>This function is called by the runtime system whenever the topology changes. Most classes do not need to override this. This check is in addition to the constraints specified by the input and output gr_io_signatures. </p>

<p>Reimplemented from <a class="el" href="classgr__basic__block.html#a50a714df9c3ce8c03854a09ac84e589b">gr_basic_block</a>.</p>

<p>References <a class="el" href="classgr__test.html#ae073453777b26e35d98165c888f73b54">d_check_topology</a>.</p>

<p>Referenced by <a class="el" href="classgr__test.html#a5d96333a3756b37fe54a6a3f88866b64">set_check_topology()</a>.</p>

</div>
</div>
<a class="anchor" id="abd560ba788790b052bcdf55c40fe203b"></a><!-- doxytag: member="gr_test::fixed_rate_ninput_to_noutput" ref="abd560ba788790b052bcdf55c40fe203b" args="(int ninput)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int gr_test::fixed_rate_ninput_to_noutput </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>ninput</em></td><td>)</td>
          <td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Given ninput samples, return number of output samples that will be produced. N.B. this is only defined if fixed_rate returns true. Generally speaking, you don't need to override this. </p>

<p>Reimplemented from <a class="el" href="classgr__block.html#a4f17bec4407904b31d45f0d8e78c4683">gr_block</a>.</p>

<p>References <a class="el" href="classgr__block.html#aa9df8c4d3fb92bde98900831546f8b97">gr_block::relative_rate()</a>.</p>

</div>
</div>
<a class="anchor" id="abb33a7036cbb39bcfeacf22c6352b50b"></a><!-- doxytag: member="gr_test::fixed_rate_noutput_to_ninput" ref="abb33a7036cbb39bcfeacf22c6352b50b" args="(int noutput)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int gr_test::fixed_rate_noutput_to_ninput </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>noutput</em></td><td>)</td>
          <td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Given noutput samples, return number of input samples required to produce noutput. N.B. this is only defined if fixed_rate returns true. </p>

<p>Reimplemented from <a class="el" href="classgr__block.html#a196ae6a4f9a3d0abed3428d2b765a133">gr_block</a>.</p>

<p>References <a class="el" href="classgr__block.html#aa9df8c4d3fb92bde98900831546f8b97">gr_block::relative_rate()</a>.</p>

</div>
</div>
<a class="anchor" id="a066f8bfd35652cf2f9394bee8e61dc50"></a><!-- doxytag: member="gr_test::forecast" ref="a066f8bfd35652cf2f9394bee8e61dc50" args="(int noutput_items, gr_vector_int &amp;ninput_items_required)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void gr_test::forecast </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>noutput_items</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classstd_1_1vector.html">gr_vector_int</a> &amp;&#160;</td>
          <td class="paramname"><em>ninput_items_required</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Estimate input requirements given output request. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">noutput_items</td><td>number of output items to produce </td></tr>
    <tr><td class="paramname">ninput_items_required</td><td>number of input items required on each input stream</td></tr>
  </table>
  </dd>
</dl>
<p>Given a request to product <code>noutput_items</code>, estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close. </p>

<p>Reimplemented from <a class="el" href="classgr__block.html#aa1f2518b5c97126bb015adb9e2027f4a">gr_block</a>.</p>

<p>References <a class="el" href="classgr__block.html#ad3b305a663f4b5b5c4e17070d00f05d9">gr_block::history()</a>, and <a class="el" href="classgr__block.html#aa9df8c4d3fb92bde98900831546f8b97">gr_block::relative_rate()</a>.</p>

</div>
</div>
<a class="anchor" id="a871aa0cd617be4a13e5cb036bdb55cd7"></a><!-- doxytag: member="gr_test::general_work" ref="a871aa0cd617be4a13e5cb036bdb55cd7" args="(int noutput_items, gr_vector_int &amp;ninput_items, gr_vector_const_void_star &amp;input_items, gr_vector_void_star &amp;output_items)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int gr_test::general_work </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>noutput_items</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classstd_1_1vector.html">gr_vector_int</a> &amp;&#160;</td>
          <td class="paramname"><em>ninput_items</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classstd_1_1vector.html">gr_vector_const_void_star</a> &amp;&#160;</td>
          <td class="paramname"><em>input_items</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classstd_1_1vector.html">gr_vector_void_star</a> &amp;&#160;</td>
          <td class="paramname"><em>output_items</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>compute output items from input items </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">noutput_items</td><td>number of output items to write on each output stream </td></tr>
    <tr><td class="paramname">ninput_items</td><td>number of input items available on each input stream </td></tr>
    <tr><td class="paramname">input_items</td><td>vector of pointers to the input items, one entry per input stream </td></tr>
    <tr><td class="paramname">output_items</td><td>vector of pointers to the output items, one entry per output stream</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>number of items actually written to each output stream, or -1 on EOF. It is OK to return a value less than noutput_items. -1 &lt;= return value &lt;= noutput_items</dd></dl>
<p>general_work must call consume or consume_each to indicate how many items were consumed on each input stream. </p>

<p>Implements <a class="el" href="classgr__block.html#a137b93d87dc83bbdb6369d33f4ea8197">gr_block</a>.</p>

</div>
</div>
<a class="anchor" id="a5d96333a3756b37fe54a6a3f88866b64"></a><!-- doxytag: member="gr_test::set_check_topology" ref="a5d96333a3756b37fe54a6a3f88866b64" args="(bool check_topology)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void gr_test::set_check_topology </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gc__types_8h.html#a0f2b5d454b7e4dda3861032cfce91085">bool</a>&#160;</td>
          <td class="paramname"><em>check_topology</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Force check topology to return true or false. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">check_topology</td><td>value to return when check_topology is called (true or false) default check_topology returns true </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="classgr__test.html#ac9924b05718346c0cf3d231f2a82474b">check_topology()</a>, and <a class="el" href="classgr__test.html#ae073453777b26e35d98165c888f73b54">d_check_topology</a>.</p>

</div>
</div>
<a class="anchor" id="a866d8cbba629307e5e976339048c0234"></a><!-- doxytag: member="gr_test::set_consume_limit" ref="a866d8cbba629307e5e976339048c0234" args="(unsigned int limit)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void gr_test::set_consume_limit </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>limit</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the consume limit. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">limit</td><td>min or maximum items to consume (depending on consume_type) </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="classgr__test.html#ae069b12d1c283923f1d64176d49a2a88">d_max_consume</a>, and <a class="el" href="classgr__test.html#a80c41a7a262059c6c7b7b3b77bb3203d">d_min_consume</a>.</p>

</div>
</div>
<a class="anchor" id="a0134531834988f75b8c7f64968005516"></a><!-- doxytag: member="gr_test::set_consume_type" ref="a0134531834988f75b8c7f64968005516" args="(gr_consume_type_t cons_type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void gr_test::set_consume_type </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gr__test__types_8h.html#a7e11c1089ad4d0f3c0d4c0cea0281fa6">gr_consume_type_t</a>&#160;</td>
          <td class="paramname"><em>cons_type</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the consume pattern. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">cons_type</td><td>which consume pattern to use </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="classgr__test.html#ac2dcb99dc170b465b063624d2082a792">d_consume_type</a>.</p>

</div>
</div>
<a class="anchor" id="a7aa4753ba5e757786726f7dd29118199"></a><!-- doxytag: member="gr_test::set_fixed_rate_public" ref="a7aa4753ba5e757786726f7dd29118199" args="(bool fixed_rate)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void gr_test::set_fixed_rate_public </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gc__types_8h.html#a0f2b5d454b7e4dda3861032cfce91085">bool</a>&#160;</td>
          <td class="paramname"><em>fixed_rate</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set if fixed rate should return true. N.B. This is normally a private method but we make it available here as public. </p>

<p>References <a class="el" href="classgr__block.html#a176a95343488a9a760c8edf8bb08db20">gr_block::set_fixed_rate()</a>.</p>

</div>
</div>
<a class="anchor" id="ae47866bc4ef06e4cca54d7a015b4532e"></a><!-- doxytag: member="gr_test::set_produce_limit" ref="ae47866bc4ef06e4cca54d7a015b4532e" args="(unsigned int limit)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void gr_test::set_produce_limit </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>limit</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the produce limit. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">limit</td><td>min or maximum items to produce (depending on produce_type) </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="classgr__test.html#a595d614900bcb35deaaa932823cf1adc">d_max_produce</a>, and <a class="el" href="classgr__test.html#ab413d9a967b53cd273e84eacc0392e05">d_min_produce</a>.</p>

</div>
</div>
<a class="anchor" id="a607096450cf5b6e967f35b5e82d918e0"></a><!-- doxytag: member="gr_test::set_produce_type" ref="a607096450cf5b6e967f35b5e82d918e0" args="(gr_produce_type_t prod_type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void gr_test::set_produce_type </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gr__test__types_8h.html#afc8b997c194075e5d0d5cb793e829329">gr_produce_type_t</a>&#160;</td>
          <td class="paramname"><em>prod_type</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the produce pattern. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">prod_type</td><td>which produce pattern to use </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="classgr__test.html#a51d2a008941c2ff0e0bad38b66a57f87">d_produce_type</a>.</p>

</div>
</div>
<hr/><h2>Friends And Related Function Documentation</h2>
<a class="anchor" id="a51e81abce2488c724ba9a90d805933b1"></a><!-- doxytag: member="gr_test::gr_make_test" ref="a51e81abce2488c724ba9a90d805933b1" args="(const std::string &amp;name, int min_inputs, int max_inputs, unsigned int sizeof_input_item, int min_outputs, int max_outputs, unsigned int sizeof_output_item, unsigned int history, unsigned int output_multiple, double relative_rate, bool fixed_rate, gr_consume_type_t cons_type, gr_produce_type_t prod_type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classboost_1_1shared__ptr.html">gr_test_sptr</a> gr_make_test </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>min_inputs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>max_inputs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>sizeof_input_item</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>min_outputs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>max_outputs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>sizeof_output_item</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>history</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>output_multiple</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>relative_rate</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="gc__types_8h.html#a0f2b5d454b7e4dda3861032cfce91085">bool</a>&#160;</td>
          <td class="paramname"><em>fixed_rate</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="gr__test__types_8h.html#a7e11c1089ad4d0f3c0d4c0cea0281fa6">gr_consume_type_t</a>&#160;</td>
          <td class="paramname"><em>cons_type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="gr__test__types_8h.html#afc8b997c194075e5d0d5cb793e829329">gr_produce_type_t</a>&#160;</td>
          <td class="paramname"><em>prod_type</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="ae073453777b26e35d98165c888f73b54"></a><!-- doxytag: member="gr_test::d_check_topology" ref="ae073453777b26e35d98165c888f73b54" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="gc__types_8h.html#a0f2b5d454b7e4dda3861032cfce91085">bool</a> <a class="el" href="classgr__test.html#ae073453777b26e35d98165c888f73b54">gr_test::d_check_topology</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Referenced by <a class="el" href="classgr__test.html#ac9924b05718346c0cf3d231f2a82474b">check_topology()</a>, and <a class="el" href="classgr__test.html#a5d96333a3756b37fe54a6a3f88866b64">set_check_topology()</a>.</p>

</div>
</div>
<a class="anchor" id="ac2dcb99dc170b465b063624d2082a792"></a><!-- doxytag: member="gr_test::d_consume_type" ref="ac2dcb99dc170b465b063624d2082a792" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="gr__test__types_8h.html#a7e11c1089ad4d0f3c0d4c0cea0281fa6">gr_consume_type_t</a> <a class="el" href="classgr__test.html#ac2dcb99dc170b465b063624d2082a792">gr_test::d_consume_type</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Referenced by <a class="el" href="classgr__test.html#a0134531834988f75b8c7f64968005516">set_consume_type()</a>.</p>

</div>
</div>
<a class="anchor" id="ae069b12d1c283923f1d64176d49a2a88"></a><!-- doxytag: member="gr_test::d_max_consume" ref="ae069b12d1c283923f1d64176d49a2a88" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classgr__test.html#ae069b12d1c283923f1d64176d49a2a88">gr_test::d_max_consume</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Referenced by <a class="el" href="classgr__test.html#a866d8cbba629307e5e976339048c0234">set_consume_limit()</a>.</p>

</div>
</div>
<a class="anchor" id="a595d614900bcb35deaaa932823cf1adc"></a><!-- doxytag: member="gr_test::d_max_produce" ref="a595d614900bcb35deaaa932823cf1adc" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classgr__test.html#a595d614900bcb35deaaa932823cf1adc">gr_test::d_max_produce</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Referenced by <a class="el" href="classgr__test.html#ae47866bc4ef06e4cca54d7a015b4532e">set_produce_limit()</a>.</p>

</div>
</div>
<a class="anchor" id="a80c41a7a262059c6c7b7b3b77bb3203d"></a><!-- doxytag: member="gr_test::d_min_consume" ref="a80c41a7a262059c6c7b7b3b77bb3203d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classgr__test.html#a80c41a7a262059c6c7b7b3b77bb3203d">gr_test::d_min_consume</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Referenced by <a class="el" href="classgr__test.html#a866d8cbba629307e5e976339048c0234">set_consume_limit()</a>.</p>

</div>
</div>
<a class="anchor" id="ab413d9a967b53cd273e84eacc0392e05"></a><!-- doxytag: member="gr_test::d_min_produce" ref="ab413d9a967b53cd273e84eacc0392e05" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classgr__test.html#ab413d9a967b53cd273e84eacc0392e05">gr_test::d_min_produce</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Referenced by <a class="el" href="classgr__test.html#ae47866bc4ef06e4cca54d7a015b4532e">set_produce_limit()</a>.</p>

</div>
</div>
<a class="anchor" id="a51d2a008941c2ff0e0bad38b66a57f87"></a><!-- doxytag: member="gr_test::d_produce_type" ref="a51d2a008941c2ff0e0bad38b66a57f87" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="gr__test__types_8h.html#afc8b997c194075e5d0d5cb793e829329">gr_produce_type_t</a> <a class="el" href="classgr__test.html#a51d2a008941c2ff0e0bad38b66a57f87">gr_test::d_produce_type</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Referenced by <a class="el" href="classgr__test.html#a607096450cf5b6e967f35b5e82d918e0">set_produce_type()</a>.</p>

</div>
</div>
<a class="anchor" id="aa3c203116c6bc15fdf7b1c5750562627"></a><!-- doxytag: member="gr_test::d_sizeof_input_item" ref="aa3c203116c6bc15fdf7b1c5750562627" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int <a class="el" href="classgr__test.html#aa3c203116c6bc15fdf7b1c5750562627">gr_test::d_sizeof_input_item</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a861e0e31303892e9acffa5a3be04f9aa"></a><!-- doxytag: member="gr_test::d_sizeof_output_item" ref="a861e0e31303892e9acffa5a3be04f9aa" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int <a class="el" href="classgr__test.html#a861e0e31303892e9acffa5a3be04f9aa">gr_test::d_sizeof_output_item</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a7ac1f9d9aa0cc701f08da9b4211e5346"></a><!-- doxytag: member="gr_test::d_temp" ref="a7ac1f9d9aa0cc701f08da9b4211e5346" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char <a class="el" href="classgr__test.html#a7ac1f9d9aa0cc701f08da9b4211e5346">gr_test::d_temp</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="gr__test_8h_source.html">gr_test.h</a></li>
</ul>
</div>
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="classgr__test.html">gr_test</a>      </li>
      <li class="footer">Generated on Thu Feb 17 2011 for GNU Radio 3.2.2 C++ API by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </li>
    </ul>
  </div>

</body>
</html>