Changeset 1050
- Timestamp:
- May 6, 2009, 11:11:59 AM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
plugins/base2/net.sf.basedb.normalizers/trunk/src/c++/bin/qQN.cc
r1049 r1050 43 43 using namespace theplu::yat::utility; 44 44 45 45 46 void create_target_and_fix_nans(std::vector<double>&, MatrixWeighted&); 46 47 void create_target_and_fix_nans(std::vector<double>&, MatrixWeighted&, 47 48 const std::string&); 49 50 void exp_numbers(MatrixWeighted&); 51 template<typename Iterator> void log_numbers(Iterator first, Iterator last); 52 void log_numbers(MatrixWeighted&); 53 48 54 /** 49 55 writes the data values in the matrix ignoring the weights, i.e., … … 102 108 ( assay.present() ? create_target_and_fix_nans(target,m,assay.value()) : 103 109 create_target_and_fix_nans(target,m) ); 110 log_numbers(target.begin(),target.end()); 111 log_numbers(m); 104 112 qQuantileNormalizer qqn(target.begin(), target.end(), 100); 105 113 ColumnNormalizer<qQuantileNormalizer> cn(qqn); 106 114 MatrixWeighted result(m.rows(),m.columns()); 107 115 cn(m,result); 116 exp_numbers(result); 108 117 109 118 std::ofstream* outfile=NULL; … … 186 195 187 196 197 void exp_numbers(MatrixWeighted& m) 198 { 199 MatrixWeighted::iterator i=m.begin(); 200 while (i!=m.end()) { 201 i->data() =std::exp(i->data()); 202 ++i; 203 } 204 } 205 206 207 template<typename Iterator> void log_numbers(Iterator i, Iterator last) 208 { 209 while (i!=last) { 210 *i=std::log(*i); 211 ++i; 212 } 213 } 214 215 216 void log_numbers(MatrixWeighted& m) 217 { 218 MatrixWeighted::iterator i=m.begin(); 219 while (i!=m.end()) { 220 i->data() =std::log(i->data()); 221 ++i; 222 } 223 } 224 225 188 226 std::ostream& operator<< (std::ostream& s, const MatrixWeighted& m) 189 227 {
Note: See TracChangeset
for help on using the changeset viewer.