root/bdm/stat/libDS.cpp @ 254

Revision 254, 1.0 kB (checked in by smidl, 15 years ago)

create namespace bdm

Line 
1#include <itpp/itbase.h>
2#include "libDS.h"
3
4using namespace bdm;
5
6void MemDS::getdata(vec &dt){
7        int i;
8       
9        it_assert_debug(dt.length()==rowid.length(), "MemDS:getdata incompatible dt");
10        for(i=0;i<rowid.length();i++){
11                dt(i) = Data(rowid(i),time-delays(i));
12        }
13}
14
15void MemDS::getdata(vec &dt,ivec &indeces){
16        int j,i;
17        it_assert_debug(dt.length()==indeces.length(), "MemDS:getdata incompatible dt");
18        for(i=0;i<indeces.length();i++){
19                j = indeces (i);
20                dt(i) = Data(rowid(j),time-delays(j));
21        }
22}
23
24void MemDS::step() {
25        if (time<Data.cols()) {time++;}
26}
27
28void MemDS::linkrvs(RV &drv, RV &urv) {
29        it_assert_debug(drv.count()==rowid.length(),"MemDS::linkrvs incompatible drv");
30        it_assert_debug(urv.count()==0,"MemDS does not support urv.");
31       
32        Drv = drv;
33        Urv = urv;
34}
35
36MemDS::MemDS(mat &Dat, ivec &rowid, ivec &delays){
37        it_assert_debug(max(rowid)<=Dat.rows(),"MemDS rowid is too high for given Dat.");
38        it_assert_debug(max(delays)<Dat.cols(),"MemDS delays are too high.");
39       
40        time = max(delays); 
41        Data = Dat;
42}
Note: See TracBrowser for help on using the browser.