- Timestamp:
- May 8, 2009, 3:02:55 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
plugins/base2/net.sf.basedb.normalizers/trunk/src/c++/bin/qQN.cc
r1054 r1059 34 34 #include <yat/utility/OptionOutFile.h> 35 35 #include <yat/utility/OptionSwitch.h> 36 #include <yat/utility/stl_utility.h> 36 37 37 38 #include <cstdlib> … … 47 48 void create_target(std::vector<double>&, const MatrixWeighted&, 48 49 const std::string&); 49 50 template<typename Iterator> void exp_numbers(Iterator first, Iterator last);51 template<typename Iterator> void log_numbers(Iterator first, Iterator last);52 50 53 51 /** … … 107 105 ( assay.present() ? create_target(target,m,assay.value()) : 108 106 create_target(target,m) ); 109 log_numbers(target.begin(),target.end()); 110 log_numbers(m.begin(),m.end()); 107 std::transform(target.begin(), target.end(), 108 target.begin(), theplu::yat::utility::Log<double>()); 109 std::transform(data_iterator(m.begin()), data_iterator(m.end()), 110 data_iterator(m.begin()), theplu::yat::utility::Log<double>()); 111 111 qQuantileNormalizer qqn(target.begin(), target.end(), 100); 112 112 ColumnNormalizer<qQuantileNormalizer> cn(qqn); 113 113 MatrixWeighted result(m.rows(),m.columns()); 114 114 cn(m,result); 115 exp_numbers(result.begin(),result.end()); 115 std::transform(data_iterator(result.begin()), data_iterator(result.end()), 116 data_iterator(result.begin()), theplu::yat::utility::Exp<double>()); 116 117 117 118 std::ofstream* outfile=NULL; … … 183 184 184 185 185 template<typename Iterator> void exp_numbers(Iterator i, Iterator last)186 {187 while (i!=last) {188 *data_iterator(i)=std::exp(*data_iterator(i));189 ++i;190 }191 }192 193 194 template<typename Iterator> void log_numbers(Iterator i, Iterator last)195 {196 while (i!=last) {197 *data_iterator(i)=std::log(*data_iterator(i));198 ++i;199 }200 }201 202 203 186 std::ostream& operator<< (std::ostream& s, const MatrixWeighted& m) 204 187 {
Note: See TracChangeset
for help on using the changeset viewer.