root/library/doc/html/classbdm_1_1RV.html @ 661

Revision 661, 37.4 kB (checked in by smidl, 15 years ago)

doc

Line 
1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xmlns="http://www.w3.org/1999/xhtml">
3<head>
4<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5<title>mixpp: bdm::RV Class Reference</title>
6<link href="tabs.css" rel="stylesheet" type="text/css"/>
7<link href="doxygen.css" rel="stylesheet" type="text/css"/>
8</head>
9<body>
10<!-- Generated by Doxygen 1.6.1 -->
11<script type="text/javascript">
12<!--
13function changeDisplayState (e){
14  var num=this.id.replace(/[^[0-9]/g,'');
15  var button=this.firstChild;
16  var sectionDiv=document.getElementById('dynsection'+num);
17  if (sectionDiv.style.display=='none'||sectionDiv.style.display==''){
18    sectionDiv.style.display='block';
19    button.src='open.gif';
20  }else{
21    sectionDiv.style.display='none';
22    button.src='closed.gif';
23  }
24}
25function initDynSections(){
26  var divs=document.getElementsByTagName('div');
27  var sectionCounter=1;
28  for(var i=0;i<divs.length-1;i++){
29    if(divs[i].className=='dynheader'&&divs[i+1].className=='dynsection'){
30      var header=divs[i];
31      var section=divs[i+1];
32      var button=header.firstChild;
33      if (button!='IMG'){
34        divs[i].insertBefore(document.createTextNode(' '),divs[i].firstChild);
35        button=document.createElement('img');
36        divs[i].insertBefore(button,divs[i].firstChild);
37      }
38      header.style.cursor='pointer';
39      header.onclick=changeDisplayState;
40      header.id='dynheader'+sectionCounter;
41      button.src='closed.gif';
42      section.id='dynsection'+sectionCounter;
43      section.style.display='none';
44      section.style.marginLeft='14px';
45      sectionCounter++;
46    }
47  }
48}
49window.onload = initDynSections;
50-->
51</script>
52<div class="navigation" id="top">
53  <div class="tabs">
54    <ul>
55      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
56      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
57      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
58      <li><a href="files.html"><span>Files</span></a></li>
59    </ul>
60  </div>
61  <div class="tabs">
62    <ul>
63      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
64      <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
65      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
66      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
67    </ul>
68  </div>
69  <div class="navpath"><b>bdm</b>::<a class="el" href="classbdm_1_1RV.html">RV</a>
70  </div>
71</div>
72<div class="contents">
73<h1>bdm::RV Class Reference</h1><!-- doxytag: class="bdm::RV" --><!-- doxytag: inherits="bdm::root" -->
74<p>Class representing variables, most often random variables. 
75<a href="#_details">More...</a></p>
76<hr/><a name="_details"></a><h2>Detailed Description</h2>
77<p>Class representing variables, most often random variables. </p>
78<p>The purpose of this class is to decribe a vector of data. Such description is used for connecting various vectors between each other, see class <a class="el" href="classbdm_1_1datalink.html" title="DataLink is a connection between two data vectors Up and Down.">datalink</a>.</p>
79<p>The class is implemented using global variables to assure uniqueness of description:</p>
80<p>In is a vector </p>
81<div align="center">
82<img src="inline_dotgraph_3.dot.png" alt="inline_dotgraph_3.dot" border="0" usemap="#inline_dotgraph_3.dot.map">
83<map name="inline_dotgraph_3.dot.map" id="inline_dotgraph_3.dot.map"></map>
84</div>
85 
86<p><code>#include &lt;<a class="el" href="bdmbase_8h_source.html">bdmbase.h</a>&gt;</code></p>
87
88<p><a href="classbdm_1_1RV-members.html">List of all members.</a></p>
89<table border="0" cellpadding="0" cellspacing="0">
90<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
91<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1RV.html#a6564bdd36b6845a51446a192d33e1194">from_setting</a> (const Setting &amp;set)</td></tr>
92<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classbdm_1_1UI.html" title="UI is an abstract class which collects all the auxiliary functions useful to prepare...">UI</a> for class <a class="el" href="classbdm_1_1RV.html" title="Class representing variables, most often random variables.">RV</a> (description of data vectors).  <a href="#a6564bdd36b6845a51446a192d33e1194"></a><br/></td></tr>
93<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0743ab524c18d0c6553b29b043fd42bd"></a><!-- doxytag: member="bdm::RV::show_all" ref="a0743ab524c18d0c6553b29b043fd42bd" args="()" -->
94string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1RV.html#a0743ab524c18d0c6553b29b043fd42bd">show_all</a> ()</td></tr>
95<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">function for debugging <a class="el" href="classbdm_1_1RV.html" title="Class representing variables, most often random variables.">RV</a> related stuff <br/></td></tr>
96<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a67d954d255ede776eade7334d4895790"></a><!-- doxytag: member="bdm::RV::to_setting" ref="a67d954d255ede776eade7334d4895790" args="(Setting &amp;set) const " -->
97virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1root.html#a67d954d255ede776eade7334d4895790">to_setting</a> (Setting &amp;set) const </td></tr>
98<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This method save all the instance properties into the Setting structure. <br/></td></tr>
99<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1c314bd6d6dacb8ba78ea5eb88fd9516"></a><!-- doxytag: member="bdm::RV::validate" ref="a1c314bd6d6dacb8ba78ea5eb88fd9516" args="()" -->
100virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1root.html#a1c314bd6d6dacb8ba78ea5eb88fd9516">validate</a> ()</td></tr>
101<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This method TODO. <br/></td></tr>
102<tr><td colspan="2"><div class="groupHeader">Constructors</div></td></tr>
103<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp559a25fdb98a7d1fd1c3771ac568d5e9"></a> </p>
104<br/><br/></div></td></tr>
105<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3fa35c2744e687c74f7742990e6aa264"></a><!-- doxytag: member="bdm::RV::RV" ref="a3fa35c2744e687c74f7742990e6aa264" args="(const Array&lt; std::string &gt; &amp;in_names, const ivec &amp;in_sizes, const ivec &amp;in_times)" -->
106&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1RV.html#a3fa35c2744e687c74f7742990e6aa264">RV</a> (const Array&lt; std::string &gt; &amp;in_names, const ivec &amp;in_sizes, const ivec &amp;in_times)</td></tr>
107<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Full constructor. <br/></td></tr>
108<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a381f5d963bb54efd4e76815dc93d50ce"></a><!-- doxytag: member="bdm::RV::RV" ref="a381f5d963bb54efd4e76815dc93d50ce" args="(const Array&lt; std::string &gt; &amp;in_names, const ivec &amp;in_sizes)" -->
109&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1RV.html#a381f5d963bb54efd4e76815dc93d50ce">RV</a> (const Array&lt; std::string &gt; &amp;in_names, const ivec &amp;in_sizes)</td></tr>
110<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor with times=0. <br/></td></tr>
111<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acb47d71d82639ec7ddf2635b21aafd00"></a><!-- doxytag: member="bdm::RV::RV" ref="acb47d71d82639ec7ddf2635b21aafd00" args="(const Array&lt; std::string &gt; &amp;in_names)" -->
112&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1RV.html#acb47d71d82639ec7ddf2635b21aafd00">RV</a> (const Array&lt; std::string &gt; &amp;in_names)</td></tr>
113<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor with sizes=1, times=0. <br/></td></tr>
114<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae319ca900261a5005a9b4b353ec16412"></a><!-- doxytag: member="bdm::RV::RV" ref="ae319ca900261a5005a9b4b353ec16412" args="()" -->
115&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1RV.html#ae319ca900261a5005a9b4b353ec16412">RV</a> ()</td></tr>
116<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor of empty <a class="el" href="classbdm_1_1RV.html" title="Class representing variables, most often random variables.">RV</a>. <br/></td></tr>
117<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa990e0f30c0e34f04c14260ab8ba5b5f"></a><!-- doxytag: member="bdm::RV::RV" ref="aa990e0f30c0e34f04c14260ab8ba5b5f" args="(string name, int sz, int tm=0)" -->
118&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1RV.html#aa990e0f30c0e34f04c14260ab8ba5b5f">RV</a> (string name, int sz, int tm=0)</td></tr>
119<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor of a single <a class="el" href="classbdm_1_1RV.html" title="Class representing variables, most often random variables.">RV</a> with given id. <br/></td></tr>
120<tr><td colspan="2"><div class="groupHeader">Algebra on Random Variables</div></td></tr>
121<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp64cb0288e151258189b025c20f50b7e1"></a> </p>
122<br/><br/></div></td></tr>
123<tr><td class="memItemLeft" align="right" valign="top">ivec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1RV.html#a1367055b2608ad9d50d01a2da6cec869">findself</a> (const <a class="el" href="classbdm_1_1RV.html">RV</a> &amp;rv2) const </td></tr>
124<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find indices of self in another rv,.  <a href="#a1367055b2608ad9d50d01a2da6cec869"></a><br/></td></tr>
125<tr><td class="memItemLeft" align="right" valign="top">ivec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1RV.html#aa858d36d0264e1f1c89500531162fdf1">findself_ids</a> (const <a class="el" href="classbdm_1_1RV.html">RV</a> &amp;rv2) const </td></tr>
126<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find indices of self in another rv, ignore time,.  <a href="#aa858d36d0264e1f1c89500531162fdf1"></a><br/></td></tr>
127<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3bb011af88ae98f5c97955bb2c95cfee"></a><!-- doxytag: member="bdm::RV::equal" ref="a3bb011af88ae98f5c97955bb2c95cfee" args="(const RV &amp;rv2) const " -->
128bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1RV.html#a3bb011af88ae98f5c97955bb2c95cfee">equal</a> (const <a class="el" href="classbdm_1_1RV.html">RV</a> &amp;rv2) const </td></tr>
129<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare if <code>rv2</code> is identical to this <code><a class="el" href="classbdm_1_1RV.html" title="Class representing variables, most often random variables.">RV</a></code>. <br/></td></tr>
130<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1RV.html#a87841b5ee43997b79789c0c22047e224">add</a> (const <a class="el" href="classbdm_1_1RV.html">RV</a> &amp;rv2)</td></tr>
131<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add (concat) another variable to the current one,.  <a href="#a87841b5ee43997b79789c0c22047e224"></a><br/></td></tr>
132<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaec44dabdf0a6d90fbae95e1356eda39"></a><!-- doxytag: member="bdm::RV::subt" ref="aaec44dabdf0a6d90fbae95e1356eda39" args="(const RV &amp;rv2) const " -->
133<a class="el" href="classbdm_1_1RV.html">RV</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1RV.html#aaec44dabdf0a6d90fbae95e1356eda39">subt</a> (const <a class="el" href="classbdm_1_1RV.html">RV</a> &amp;rv2) const </td></tr>
134<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Subtract another variable from the current one. <br/></td></tr>
135<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac0c04ab99ded62e1e05bcefb151ebeb9"></a><!-- doxytag: member="bdm::RV::subselect" ref="ac0c04ab99ded62e1e05bcefb151ebeb9" args="(const ivec &amp;ind) const " -->
136<a class="el" href="classbdm_1_1RV.html">RV</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1RV.html#ac0c04ab99ded62e1e05bcefb151ebeb9">subselect</a> (const ivec &amp;ind) const </td></tr>
137<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Select only variables at indices ind. <br/></td></tr>
138<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6f3daf0f857fff53a1c0a445fe160966"></a><!-- doxytag: member="bdm::RV::operator()" ref="a6f3daf0f857fff53a1c0a445fe160966" args="(const ivec &amp;ind) const " -->
139<a class="el" href="classbdm_1_1RV.html">RV</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1RV.html#a6f3daf0f857fff53a1c0a445fe160966">operator()</a> (const ivec &amp;ind) const </td></tr>
140<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Select only variables at indices ind. <br/></td></tr>
141<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a452fb5f7ab1eafe17932bf9f458d0415"></a><!-- doxytag: member="bdm::RV::operator()" ref="a452fb5f7ab1eafe17932bf9f458d0415" args="(int di1, int di2) const " -->
142<a class="el" href="classbdm_1_1RV.html">RV</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1RV.html#a452fb5f7ab1eafe17932bf9f458d0415">operator()</a> (int di1, int di2) const </td></tr>
143<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Select from data vector starting at di1 to di2. <br/></td></tr>
144<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a449c2b692957528976c189d27236e1ba"></a><!-- doxytag: member="bdm::RV::t_plus" ref="a449c2b692957528976c189d27236e1ba" args="(int delta)" -->
145void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1RV.html#a449c2b692957528976c189d27236e1ba">t_plus</a> (int delta)</td></tr>
146<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shift <code>time</code> by delta. <br/></td></tr>
147<tr><td colspan="2"><div class="groupHeader">Time manipulation functions</div></td></tr>
148<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpae06cb9901d7bdd0e1d9dc742effec16"></a> returns rvs with time set to 0 and removed duplicates </p>
149<br/><br/></div></td></tr>
150<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae9e1787523f4d5f636e4f738c319d3e3"></a><!-- doxytag: member="bdm::RV::remove_time" ref="ae9e1787523f4d5f636e4f738c319d3e3" args="() const " -->
151<a class="el" href="classbdm_1_1RV.html">RV</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>remove_time</b> () const </td></tr>
152<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a627222f49abc5d07e5e8aecac7708ee2"></a><!-- doxytag: member="bdm::RV::copy_t" ref="a627222f49abc5d07e5e8aecac7708ee2" args="(int dt) const " -->
153<a class="el" href="classbdm_1_1RV.html">RV</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1RV.html#a627222f49abc5d07e5e8aecac7708ee2">copy_t</a> (int dt) const </td></tr>
154<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">create new <a class="el" href="classbdm_1_1RV.html" title="Class representing variables, most often random variables.">RV</a> from the current one with time shifted by given value <br/></td></tr>
155<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac5819f71d774649412c10b8e1716be1e"></a><!-- doxytag: member="bdm::RV::expand_delayes" ref="ac5819f71d774649412c10b8e1716be1e" args="() const " -->
156<a class="el" href="classbdm_1_1RV.html">RV</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1RV.html#ac5819f71d774649412c10b8e1716be1e">expand_delayes</a> () const </td></tr>
157<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return rvs with expanded delayes and sorted in the order of: <img class="formulaInl" alt="$ [ rv_{0}, rv_{-1},\ldots rv_{max_delay}]$" src="form_190.png"/> <br/></td></tr>
158<tr><td colspan="2"><div class="groupHeader">Relation to vectors</div></td></tr>
159<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpbf7d6716e6a2259c0d28e2e7477a0b81"></a> </p>
160<br/><br/></div></td></tr>
161<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8bdd7f4072749c7cc864b78a418ca388"></a><!-- doxytag: member="bdm::RV::tostr" ref="a8bdd7f4072749c7cc864b78a418ca388" args="() const " -->
162<a class="el" href="classbdm_1_1str.html">str</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1RV.html#a8bdd7f4072749c7cc864b78a418ca388">tostr</a> () const </td></tr>
163<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">generate <code><a class="el" href="classbdm_1_1str.html" title="Structure of RV, i.e. RVs expanded into a flat list of IDs, used for debugging.">str</a></code> from rv, by expanding sizes <br/></td></tr>
164<tr><td class="memItemLeft" align="right" valign="top">ivec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1RV.html#acbebdb5e0d30101a6eb63550ef701c55">dataind</a> (const <a class="el" href="classbdm_1_1RV.html">RV</a> &amp;crv) const </td></tr>
165<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0c6e3a1c54a612d2ea390c841aa5eb6f"></a><!-- doxytag: member="bdm::RV::dataind_part" ref="a0c6e3a1c54a612d2ea390c841aa5eb6f" args="(const RV &amp;crv) const " -->
166ivec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1RV.html#a0c6e3a1c54a612d2ea390c841aa5eb6f">dataind_part</a> (const <a class="el" href="classbdm_1_1RV.html">RV</a> &amp;crv) const </td></tr>
167<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">same as dataind but this time crv should not be complete supperset of rv. <br/></td></tr>
168<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1RV.html#ac92b92ecfd95c89be13ab3e6cb6855c1">dataind</a> (const <a class="el" href="classbdm_1_1RV.html">RV</a> &amp;rv2, ivec &amp;selfi, ivec &amp;rv2i) const </td></tr>
169<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9a5c5aeeaf39299d07763377b05a8241"></a><!-- doxytag: member="bdm::RV::mint" ref="a9a5c5aeeaf39299d07763377b05a8241" args="() const " -->
170int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1RV.html#a9a5c5aeeaf39299d07763377b05a8241">mint</a> () const </td></tr>
171<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Minimum time-offset. <br/></td></tr>
172<tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr>
173<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aab92b361335a644df654cf7cf7e5ffc0"></a><!-- doxytag: member="bdm::RV::clear_all" ref="aab92b361335a644df654cf7cf7e5ffc0" args="()" -->
174static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1RV.html#aab92b361335a644df654cf7cf7e5ffc0">clear_all</a> ()</td></tr>
175<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Invalidate all named RVs. Use before initializing any <a class="el" href="classbdm_1_1RV.html" title="Class representing variables, most often random variables.">RV</a> instances, with care... <br/></td></tr>
176<tr><td colspan="2"><h2>Protected Attributes</h2></td></tr>
177<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0cfe477965243a89eb87a06b024e2fcb"></a><!-- doxytag: member="bdm::RV::dsize" ref="a0cfe477965243a89eb87a06b024e2fcb" args="" -->
178int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1RV.html#a0cfe477965243a89eb87a06b024e2fcb">dsize</a></td></tr>
179<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">size of the data vector <br/></td></tr>
180<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab11bfdceb831ed30d33b852dd4a6b385"></a><!-- doxytag: member="bdm::RV::len" ref="ab11bfdceb831ed30d33b852dd4a6b385" args="" -->
181int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1RV.html#ab11bfdceb831ed30d33b852dd4a6b385">len</a></td></tr>
182<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">number of individual rvs <br/></td></tr>
183<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0a9a4769ab5a322495bea0cd8091500b"></a><!-- doxytag: member="bdm::RV::ids" ref="a0a9a4769ab5a322495bea0cd8091500b" args="" -->
184ivec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1RV.html#a0a9a4769ab5a322495bea0cd8091500b">ids</a></td></tr>
185<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Vector of unique IDs. <br/></td></tr>
186<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aef6703854820bbf61736738f1bac6896"></a><!-- doxytag: member="bdm::RV::times" ref="aef6703854820bbf61736738f1bac6896" args="" -->
187ivec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1RV.html#aef6703854820bbf61736738f1bac6896">times</a></td></tr>
188<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Vector of shifts from current time. <br/></td></tr>
189<tr><td colspan="2"><h2>Access functions</h2></td></tr>
190<tr><td colspan="2"><p><a class="anchor" id="amgrp994eaf979fea144f0b347248094bff32"></a> </p>
191<br/><br/></td></tr>
192<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab361a9044e6a43102c4f873b9f566a0f"></a><!-- doxytag: member="bdm::RV::to_string" ref="ab361a9044e6a43102c4f873b9f566a0f" args="()" -->
193string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1RV.html#ab361a9044e6a43102c4f873b9f566a0f">to_string</a> ()</td></tr>
194<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This method returns a basic info about the current instance. <br/></td></tr>
195<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ade30156104f61d86c94f758861418089"></a><!-- doxytag: member="bdm::RV::_dsize" ref="ade30156104f61d86c94f758861418089" args="() const " -->
196int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1RV.html#ade30156104f61d86c94f758861418089">_dsize</a> () const </td></tr>
197<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">total size of a random variable <br/></td></tr>
198<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a26318eb90cb172ea86d1f45de9131c4e"></a><!-- doxytag: member="bdm::RV::_ids" ref="a26318eb90cb172ea86d1f45de9131c4e" args="() const " -->
199const ivec &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1RV.html#a26318eb90cb172ea86d1f45de9131c4e">_ids</a> () const </td></tr>
200<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">access function <br/></td></tr>
201<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a39f9b44752376f07e346579b5ff8cbbd"></a><!-- doxytag: member="bdm::RV::countsize" ref="a39f9b44752376f07e346579b5ff8cbbd" args="() const " -->
202int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1RV.html#a39f9b44752376f07e346579b5ff8cbbd">countsize</a> () const </td></tr>
203<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Recount size of the corresponding data vector. <br/></td></tr>
204<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a412d43294bac38fa1804829e38fa4eaf"></a><!-- doxytag: member="bdm::RV::cumsizes" ref="a412d43294bac38fa1804829e38fa4eaf" args="() const " -->
205ivec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1RV.html#a412d43294bac38fa1804829e38fa4eaf">cumsizes</a> () const </td></tr>
206<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Vector of cumulative sizes of <a class="el" href="classbdm_1_1RV.html" title="Class representing variables, most often random variables.">RV</a>. <br/></td></tr>
207<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae9ec8c3e756651ff352ab5e3d3acda4b"></a><!-- doxytag: member="bdm::RV::length" ref="ae9ec8c3e756651ff352ab5e3d3acda4b" args="() const " -->
208int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1RV.html#ae9ec8c3e756651ff352ab5e3d3acda4b">length</a> () const </td></tr>
209<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Number of named parts. <br/></td></tr>
210<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5900b42f778129a9e56008a1e8e489c8"></a><!-- doxytag: member="bdm::RV::id" ref="a5900b42f778129a9e56008a1e8e489c8" args="(int at) const " -->
211int&nbsp;</td><td class="memItemRight" valign="bottom"><b>id</b> (int at) const </td></tr>
212<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abde62551a3fc8f3f83c569860b73f705"></a><!-- doxytag: member="bdm::RV::size" ref="abde62551a3fc8f3f83c569860b73f705" args="(int at) const " -->
213int&nbsp;</td><td class="memItemRight" valign="bottom"><b>size</b> (int at) const </td></tr>
214<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac94373d3a760919b4b3eee58b42e3a45"></a><!-- doxytag: member="bdm::RV::time" ref="ac94373d3a760919b4b3eee58b42e3a45" args="(int at) const " -->
215int&nbsp;</td><td class="memItemRight" valign="bottom"><b>time</b> (int at) const </td></tr>
216<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a74c6ec8eb9c1dd69ad1d986eaee16dc2"></a><!-- doxytag: member="bdm::RV::name" ref="a74c6ec8eb9c1dd69ad1d986eaee16dc2" args="(int at) const " -->
217std::string&nbsp;</td><td class="memItemRight" valign="bottom"><b>name</b> (int at) const </td></tr>
218<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9bae3443ded87dc9941d763e4c48cee0"></a><!-- doxytag: member="bdm::RV::scalarname" ref="a9bae3443ded87dc9941d763e4c48cee0" args="(int scalat) const " -->
219std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1RV.html#a9bae3443ded87dc9941d763e4c48cee0">scalarname</a> (int scalat) const </td></tr>
220<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">returns name of a scalar at position scalat, i.e. it can be in the middle of vector name, in that case it adds "_%d" to it <br/></td></tr>
221<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afb2892d12dc978549e9491aed327dfd4"></a><!-- doxytag: member="bdm::RV::set_time" ref="afb2892d12dc978549e9491aed327dfd4" args="(int at, int time0)" -->
222void&nbsp;</td><td class="memItemRight" valign="bottom"><b>set_time</b> (int at, int time0)</td></tr>
223<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acad6f15535d10437f6690cb4492176a8"></a><!-- doxytag: member="bdm::RV::operator&lt;&lt;" ref="acad6f15535d10437f6690cb4492176a8" args="(std::ostream &amp;os, const RV &amp;rv)" -->
224std::ostream &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1RV.html#acad6f15535d10437f6690cb4492176a8">operator&lt;&lt;</a> (std::ostream &amp;os, const <a class="el" href="classbdm_1_1RV.html">RV</a> &amp;rv)</td></tr>
225<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">State output, e.g. for debugging. <br/></td></tr>
226</table>
227<hr/><h2>Member Function Documentation</h2>
228<a class="anchor" id="a87841b5ee43997b79789c0c22047e224"></a><!-- doxytag: member="bdm::RV::add" ref="a87841b5ee43997b79789c0c22047e224" args="(const RV &amp;rv2)" -->
229<div class="memitem">
230<div class="memproto">
231      <table class="memname">
232        <tr>
233          <td class="memname">bool bdm::RV::add </td>
234          <td>(</td>
235          <td class="paramtype">const <a class="el" href="classbdm_1_1RV.html">RV</a> &amp;&nbsp;</td>
236          <td class="paramname"> <em>rv2</em></td>
237          <td>&nbsp;)&nbsp;</td>
238          <td></td>
239        </tr>
240      </table>
241</div>
242<div class="memdoc">
243
244<p>Add (concat) another variable to the current one,. </p>
245<dl class="return"><dt><b>Returns:</b></dt><dd>true if all rv2 were added, false if rv2 is in conflict </dd></dl>
246
247<p>References <a class="el" href="bdmbase_8cpp_source.html#l00061">countsize()</a>, <a class="el" href="bdmbase_8h_source.html#l00098">dsize</a>, <a class="el" href="bdmbase_8cpp_source.html#l00325">findself()</a>, <a class="el" href="bdmbase_8h_source.html#l00102">ids</a>, <a class="el" href="bdmbase_8h_source.html#l00100">len</a>, and <a class="el" href="bdmbase_8h_source.html#l00104">times</a>.</p>
248
249<p>Referenced by <a class="el" href="kalman_8h_source.html#l00458">bdm::StateCanonical::connect_mlnorm()</a>, <a class="el" href="bdmbase_8h_source.html#l00241">expand_delayes()</a>, <a class="el" href="particles_8h_source.html#l00125">bdm::PF::from_setting()</a>, <a class="el" href="emix_8cpp_source.html#l00205">bdm::mprod::set_elements()</a>, <a class="el" href="emix_8h_source.html#l00382">bdm::eprod::set_parameters()</a>, and <a class="el" href="merger_8h_source.html#l00095">bdm::merger_base::set_sources()</a>.</p>
250
251</div>
252</div>
253<a class="anchor" id="ac92b92ecfd95c89be13ab3e6cb6855c1"></a><!-- doxytag: member="bdm::RV::dataind" ref="ac92b92ecfd95c89be13ab3e6cb6855c1" args="(const RV &amp;rv2, ivec &amp;selfi, ivec &amp;rv2i) const " -->
254<div class="memitem">
255<div class="memproto">
256      <table class="memname">
257        <tr>
258          <td class="memname">void bdm::RV::dataind </td>
259          <td>(</td>
260          <td class="paramtype">const <a class="el" href="classbdm_1_1RV.html">RV</a> &amp;&nbsp;</td>
261          <td class="paramname"> <em>rv2</em>, </td>
262        </tr>
263        <tr>
264          <td class="paramkey"></td>
265          <td></td>
266          <td class="paramtype">ivec &amp;&nbsp;</td>
267          <td class="paramname"> <em>selfi</em>, </td>
268        </tr>
269        <tr>
270          <td class="paramkey"></td>
271          <td></td>
272          <td class="paramtype">ivec &amp;&nbsp;</td>
273          <td class="paramname"> <em>rv2i</em></td><td>&nbsp;</td>
274        </tr>
275        <tr>
276          <td></td>
277          <td>)</td>
278          <td></td><td></td><td> const</td>
279        </tr>
280      </table>
281</div>
282<div class="memdoc">
283<p>generate mutual indices when copying data between self and crv. Data are copied via: data_of_this(selfi) = data_of_rv2(rv2i) </p>
284
285<p>References <a class="el" href="bdmerror_8h_source.html#l00047">bdm_assert_debug</a>, <a class="el" href="bdmbase_8cpp_source.html#l00325">findself()</a>, <a class="el" href="bdmbase_8h_source.html#l00102">ids</a>, <a class="el" href="bdmbase_8h_source.html#l00032">bdm::str::ids</a>, <a class="el" href="bdmbase_8h_source.html#l00168">length()</a>, <a class="el" href="bdmbase_8h_source.html#l00104">times</a>, <a class="el" href="bdmbase_8h_source.html#l00034">bdm::str::times</a>, and <a class="el" href="bdmbase_8cpp_source.html#l00253">tostr()</a>.</p>
286
287</div>
288</div>
289<a class="anchor" id="acbebdb5e0d30101a6eb63550ef701c55"></a><!-- doxytag: member="bdm::RV::dataind" ref="acbebdb5e0d30101a6eb63550ef701c55" args="(const RV &amp;crv) const " -->
290<div class="memitem">
291<div class="memproto">
292      <table class="memname">
293        <tr>
294          <td class="memname">ivec bdm::RV::dataind </td>
295          <td>(</td>
296          <td class="paramtype">const <a class="el" href="classbdm_1_1RV.html">RV</a> &amp;&nbsp;</td>
297          <td class="paramname"> <em>crv</em></td>
298          <td>&nbsp;)&nbsp;</td>
299          <td> const</td>
300        </tr>
301      </table>
302</div>
303<div class="memdoc">
304<p>when this rv is a part of bigger rv, this function returns indices of self in the data vector of the bigger crv. Then, data can be copied via: data_of_this = cdata(ind); </p>
305
306<p>References <a class="el" href="bdmbase_8h_source.html#l00154">_dsize()</a>, <a class="el" href="bdmerror_8h_source.html#l00047">bdm_assert_debug</a>, <a class="el" href="bdmbase_8h_source.html#l00098">dsize</a>, <a class="el" href="bdmbase_8h_source.html#l00102">ids</a>, <a class="el" href="bdmbase_8h_source.html#l00032">bdm::str::ids</a>, <a class="el" href="bdmbase_8h_source.html#l00104">times</a>, <a class="el" href="bdmbase_8h_source.html#l00034">bdm::str::times</a>, and <a class="el" href="bdmbase_8cpp_source.html#l00253">tostr()</a>.</p>
307
308<p>Referenced by <a class="el" href="bdmbase_8h_source.html#l00830">bdm::datalink_m2m::set_connection()</a>, <a class="el" href="bdmbase_8h_source.html#l00729">bdm::datalink_buffered::set_connection()</a>, <a class="el" href="bdmbase_8cpp_source.html#l00223">bdm::datalink_m2e::set_connection()</a>, <a class="el" href="bdmbase_8cpp_source.html#l00217">bdm::datalink_part::set_connection()</a>, <a class="el" href="bdmbase_8cpp_source.html#l00203">bdm::datalink::set_connection()</a>, and <a class="el" href="bdmbase_8h_source.html#l00754">bdm::datalink_buffered::set_history()</a>.</p>
309
310</div>
311</div>
312<a class="anchor" id="a1367055b2608ad9d50d01a2da6cec869"></a><!-- doxytag: member="bdm::RV::findself" ref="a1367055b2608ad9d50d01a2da6cec869" args="(const RV &amp;rv2) const " -->
313<div class="memitem">
314<div class="memproto">
315      <table class="memname">
316        <tr>
317          <td class="memname">ivec bdm::RV::findself </td>
318          <td>(</td>
319          <td class="paramtype">const <a class="el" href="classbdm_1_1RV.html">RV</a> &amp;&nbsp;</td>
320          <td class="paramname"> <em>rv2</em></td>
321          <td>&nbsp;)&nbsp;</td>
322          <td> const</td>
323        </tr>
324      </table>
325</div>
326<div class="memdoc">
327
328<p>Find indices of self in another rv,. </p>
329<dl class="return"><dt><b>Returns:</b></dt><dd>ivec of the same size as self. </dd></dl>
330
331<p>References <a class="el" href="bdmbase_8h_source.html#l00102">ids</a>, <a class="el" href="bdmbase_8h_source.html#l00168">length()</a>, and <a class="el" href="bdmbase_8h_source.html#l00104">times</a>.</p>
332
333<p>Referenced by <a class="el" href="bdmbase_8cpp_source.html#l00101">add()</a>, <a class="el" href="bdmbase_8cpp_source.html#l00283">dataind()</a>, and <a class="el" href="bdmbase_8cpp_source.html#l00316">subt()</a>.</p>
334
335</div>
336</div>
337<a class="anchor" id="aa858d36d0264e1f1c89500531162fdf1"></a><!-- doxytag: member="bdm::RV::findself_ids" ref="aa858d36d0264e1f1c89500531162fdf1" args="(const RV &amp;rv2) const " -->
338<div class="memitem">
339<div class="memproto">
340      <table class="memname">
341        <tr>
342          <td class="memname">ivec bdm::RV::findself_ids </td>
343          <td>(</td>
344          <td class="paramtype">const <a class="el" href="classbdm_1_1RV.html">RV</a> &amp;&nbsp;</td>
345          <td class="paramname"> <em>rv2</em></td>
346          <td>&nbsp;)&nbsp;</td>
347          <td> const</td>
348        </tr>
349      </table>
350</div>
351<div class="memdoc">
352
353<p>Find indices of self in another rv, ignore time,. </p>
354<dl class="return"><dt><b>Returns:</b></dt><dd>ivec of the same size as self. </dd></dl>
355
356<p>References <a class="el" href="bdmbase_8h_source.html#l00102">ids</a>, and <a class="el" href="bdmbase_8h_source.html#l00168">length()</a>.</p>
357
358<p>Referenced by <a class="el" href="bdmbase_8h_source.html#l00729">bdm::datalink_buffered::set_connection()</a>.</p>
359
360</div>
361</div>
362<a class="anchor" id="a6564bdd36b6845a51446a192d33e1194"></a><!-- doxytag: member="bdm::RV::from_setting" ref="a6564bdd36b6845a51446a192d33e1194" args="(const Setting &amp;set)" -->
363<div class="memitem">
364<div class="memproto">
365      <table class="memname">
366        <tr>
367          <td class="memname">void bdm::RV::from_setting </td>
368          <td>(</td>
369          <td class="paramtype">const Setting &amp;&nbsp;</td>
370          <td class="paramname"> <em>set</em></td>
371          <td>&nbsp;)&nbsp;</td>
372          <td><code> [virtual]</code></td>
373        </tr>
374      </table>
375</div>
376<div class="memdoc">
377
378<p><a class="el" href="classbdm_1_1UI.html" title="UI is an abstract class which collects all the auxiliary functions useful to prepare...">UI</a> for class <a class="el" href="classbdm_1_1RV.html" title="Class representing variables, most often random variables.">RV</a> (description of data vectors). </p>
379<div class="fragment"><pre class="fragment">        <span class="keyword">class </span>= &apos;<a class="code" href="classbdm_1_1RV.html#ae319ca900261a5005a9b4b353ec16412" title="Constructor of empty RV.">RV</a>&apos;;                   
380        names = {<span class="charliteral">&apos;a&apos;</span>, <span class="charliteral">&apos;b&apos;</span>, <span class="charliteral">&apos;c&apos;</span>, ...};   <span class="comment">// UNIQUE IDENTIFIER same names = same variable</span>
381                                                                        <span class="comment">// names are also used when storing results </span>
382        --- optional ---
383        sizes = [1, 2, 3, ...];         <span class="comment">// size of each name. default = ones()</span>
384                                                                        <span class="comment">// if size = -1, it is found out from previous instances of the same name</span>
385        <a class="code" href="classbdm_1_1RV.html#aef6703854820bbf61736738f1bac6896" title="Vector of shifts from current time.">times</a> = [-1, -2, 0, ...];       <span class="comment">// time shifts with respect to current time, default = zeros()</span>
386</pre></div> 
387<p>Reimplemented from <a class="el" href="classbdm_1_1root.html#a0551e3121091c5199bf4413b50522176">bdm::root</a>.</p>
388
389<p>References <a class="el" href="user__info_8h_source.html#l00451">bdm::UI::get()</a>.</p>
390
391</div>
392</div>
393<hr/>The documentation for this class was generated from the following files:<ul>
394<li><a class="el" href="bdmbase_8h_source.html">bdmbase.h</a></li>
395<li>bdmbase.cpp</li>
396</ul>
397</div>
398<hr size="1"/><address style="text-align: right;"><small>Generated on Thu Oct 15 00:07:49 2009 for mixpp by&nbsp;
399<a href="http://www.doxygen.org/index.html">
400<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
401</body>
402</html>
Note: See TracBrowser for help on using the browser.