diff options
author | Joe Zhao <ztuowen@gmail.com> | 2015-03-08 16:02:15 +0800 |
---|---|---|
committer | Joe Zhao <ztuowen@gmail.com> | 2015-03-08 16:02:15 +0800 |
commit | e500bb4cdb32b13cc022b6dc5d221de7ad97a73e (patch) | |
tree | 643bcf86336437ccee6182fc6d19c92f33b7201a /tools | |
parent | 457024eedfaf6e08146038c8cb3034e590a81df6 (diff) | |
download | ranksvm-e500bb4cdb32b13cc022b6dc5d221de7ad97a73e.tar.gz ranksvm-e500bb4cdb32b13cc022b6dc5d221de7ad97a73e.tar.bz2 ranksvm-e500bb4cdb32b13cc022b6dc5d221de7ad97a73e.zip |
added commandline parser
Diffstat (limited to 'tools')
-rw-r--r-- | tools/dataProvider.h | 4 | ||||
-rw-r--r-- | tools/fileDataProvider.h | 12 | ||||
-rw-r--r-- | tools/matrixIO.h | 30 |
3 files changed, 40 insertions, 6 deletions
diff --git a/tools/dataProvider.h b/tools/dataProvider.h index d598f3f..b2384c9 100644 --- a/tools/dataProvider.h +++ b/tools/dataProvider.h @@ -19,8 +19,8 @@ public: virtual Eigen::MatrixXd* getAttr() = 0; virtual Eigen::VectorXd* getPref() = 0; - virtual int open(); - virtual bool EOFile(); + virtual int open()=0; + virtual bool EOFile()=0; }; #endif
\ No newline at end of file diff --git a/tools/fileDataProvider.h b/tools/fileDataProvider.h index 3cfb3f9..7937866 100644 --- a/tools/fileDataProvider.h +++ b/tools/fileDataProvider.h @@ -11,10 +11,14 @@ private: public: FileDP(){}; FileDP(std::string fn):fname(fn){}; - virtual Eigen::MatrixXd* getNextAttr(); - virtual Eigen::VectorXd* getNextPref(); - virtual int open(); - virtual bool EOFile(); + virtual Eigen::MatrixXd* getAttr(){ + return new Eigen::MatrixXd(3,3); + } + virtual Eigen::VectorXd* getPref(){ + return new Eigen::VectorXd(3); + }; + virtual int open(){return 0;}; + virtual bool EOFile(){return true;}; }; #endif
\ No newline at end of file diff --git a/tools/matrixIO.h b/tools/matrixIO.h new file mode 100644 index 0000000..88cd419 --- /dev/null +++ b/tools/matrixIO.h @@ -0,0 +1,30 @@ +#ifndef MATIO_H +#define MATIO_H + +#include<iostream> + +namespace Eigen{ + template<class Matrix> + void write_stream(std::ostream &ostr, const Matrix& matrix){ + typename Matrix::Index rows=matrix.rows(), cols=matrix.cols(); + ostr<<rows<<" "<<cols<<std::endl; + for (int r=0;r<rows;++r) + { + for (int c=0;c<cols;++c) + ostr<<matrix(r,c)<<" "; + ostr<<std::endl; + } + } + template<class Matrix> + void read_stream(std::istream &istr, Matrix& matrix){ + typename Matrix::Index rows=0, cols=0; + istr>>rows>>cols; + matrix.resize(rows, cols); + for (int r=0;r<rows;++r) + for (int c=0;c<cols;++c) + istr>>matrix(r,c); + } +} // Eigen:: + + +#endif
\ No newline at end of file |