| | 42 | } |
| | 43 | |
| | 44 | void PdfDS::step() { |
| | 45 | yt2rgr.store_data ( yt ); // y is now history |
| | 46 | ut2rgr.filldown ( ut, rgr ); |
| | 47 | yt2rgr.filldown ( yt, rgr ); |
| | 48 | yt = ipdf->samplecond ( rgr ); |
| | 49 | ut2rgr.store_data ( ut ); //u is now history |
| | 50 | } |
| | 51 | |
| | 52 | void PdfDS::getdata ( vec &dt_out ) const { |
| | 53 | bdm_assert_debug ( dt_out.length() >= utsize + ytsize, "Short output vector" ); |
| | 54 | dt_out.set_subvector ( 0, yt ); |
| | 55 | dt_out.set_subvector ( ytsize, ut ); |
| | 56 | } |
| | 57 | |
| | 58 | void StateDS::step() { |
| | 59 | vec imc ( IM->dimensionc() ); |
| | 60 | imc.set_subvector ( 0, xt ); |
| | 61 | u2imc.filldown ( ut, imc ); |
| | 62 | xt = IM->samplecond ( imc ); |
| | 63 | |
| | 64 | vec omc ( OM->dimensionc() ); |
| | 65 | omc.set_subvector ( 0, xt ); |
| | 66 | u2omc.filldown ( ut, omc ); |
| | 67 | vec yt; |
| | 68 | yt = OM->samplecond ( omc ); |
| | 69 | //fill all data |
| | 70 | dt.set_subvector ( 0, yt ); |
| | 71 | dt.set_subvector ( yt.length(), xt ); |
| | 72 | dt.set_subvector ( ytsize, ut ); |