Changeset 32 for bdm/stat/libBM.cpp
- Timestamp:
- 03/03/08 13:00:32 (16 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
bdm/stat/libBM.cpp
r27 r32 7 7 using std::cout; 8 8 9 void RV::init( ivec in_ids, Array<std::string> in_names, ivec in_sizes, ivec in_times , ivec in_obs) {9 void RV::init( ivec in_ids, Array<std::string> in_names, ivec in_sizes, ivec in_times ) { 10 10 // 11 11 int i; … … 16 16 ( len != in_names.length() ) || \ 17 17 ( len != in_sizes.length() ) || \ 18 ( len != in_times.length() ) || \ 19 ( len != in_obs.length() ) ) { 18 ( len != in_times.length() )) { 20 19 it_error( "RV::RV inconsistent length of input vectors." ); 21 20 } … … 25 24 sizes = in_sizes; 26 25 times = in_times; 27 obs = in_obs;28 26 size = 0; 29 27 for(i=0;i<len;i++){size+=sizes(i);} 30 28 }; 31 29 32 RV::RV ( ivec in_ids, Array<std::string> in_names, ivec in_sizes, ivec in_times , ivec in_obs) {33 init ( in_ids, in_names, in_sizes, in_times , in_obs);30 RV::RV ( ivec in_ids, Array<std::string> in_names, ivec in_sizes, ivec in_times ) { 31 init ( in_ids, in_names, in_sizes, in_times ); 34 32 } 35 33 36 RV::RV () {}; 34 RV::RV () : size(0),len(0){}; 35 36 void RV::add (const RV &rv2) { 37 // TODO 38 size+=rv2.size; 39 len +=rv2.len; 40 ids=concat(ids,rv2.ids); 41 sizes=concat(sizes,rv2.sizes); 42 times=concat(times,rv2.times); 43 names=concat(names,rv2.names); 44 // return *this; 45 }; 37 46 38 47 RV::RV ( ivec in_ids ) { … … 46 55 } 47 56 48 init ( in_ids, A, ones_i( len ), zeros_i( len ) , zeros_i( len ));57 init ( in_ids, A, ones_i( len ), zeros_i( len ) ); 49 58 } 50 59 51 60 RV RV::subselect(ivec ind){ 52 return RV(ids(ind), names(to_Arr(ind)), sizes(ind), times(ind) , obs(ind));61 return RV(ids(ind), names(to_Arr(ind)), sizes(ind), times(ind)); 53 62 } 54 63 … … 56 65 57 66 RV RV::operator()(ivec ind){ 58 return RV(ids(ind), names(to_Arr(ind)), sizes(ind), times(ind) , obs(ind));67 return RV(ids(ind), names(to_Arr(ind)), sizes(ind), times(ind)); 59 68 } 60 69 … … 77 86 return indlist; 78 87 } 88 89 RV concat(const RV &rv1, const RV &rv2 ){ 90 RV pom = rv1; 91 pom.add(rv2); 92 return pom; 93 }