git-svn-id: svn://db.shs.com.ru/pip@472 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5

This commit is contained in:
2017-04-26 14:47:02 +00:00
parent 9c3a2cf8ca
commit c711bfb9a3
3 changed files with 39 additions and 12 deletions

View File

@@ -156,10 +156,16 @@ int main(int argc, char *argv[]) {
//in.resize(1);
PIFrame<double> f2(in);
f0 = f2;
piCout << f0;
piCout << f1;
// piCout << f0;
// piCout << f1;
// piCout << f2;
// piCout << f2.rows() << f2.cols() << f2.size_all() << f2.rows()*f2.cols();
piCout << in;
piCout << f2;
piCout << f2.rows() << f2.cols() << f2.length() << f2.rows()*f2.cols();
piCout << f2.toVectors();
PIVector<double> t = f2.toPlainVector();
piCout << t;
piCout << PIFrame<double>(f2.rows(), f2.cols(), t);
return 0;
// PIFFTWf fft;
// fft.preparePlan(50, PIFFTWf::foReal);

View File

@@ -11,6 +11,12 @@ public:
cols_ = cols;
mat.resize(rows*cols, f);
}
inline PIFrame(size_t rows, size_t cols, const PIVector<T> & v) {
mat = v;
rows_ = rows;
cols_ = cols;
mat.resize(rows*cols);
}
inline PIFrame(const PIVector<PIVector<T> > & v) {
rows_ = v.size();
if (rows_) {
@@ -25,9 +31,8 @@ public:
inline size_t rows() const {return rows_;}
inline size_t cols() const {return cols_;}
// inline size_t size() const {return mat.size();}
// inline ssize_t size_s() const {return mat.size_s();}
inline size_t length() const {return mat.length();}
inline size_t size_all() const {return mat.size();}
inline ssize_t size_s_all() const {return mat.size_s();}
inline bool isEmpty() const {return mat.isEmpty();}
class PIFrameRow {
@@ -57,7 +62,13 @@ public:
inline PIFrameRow operator[](size_t index) {return PIFrameRow(this, index);}
inline PIFrameRowConst operator[](size_t index) const {return PIFrameRowConst(this, index);}
PIVector<PIVector<T> > toVectors() const {
PIVector<PIVector<T> > ret;
for(size_t i = 0; i < rows_; ++i)
ret << PIVector<T>(mat.data(i*cols_), cols_);
return ret;
}
PIVector<T> toPlainVector() const {return mat;}
private:
size_t rows_, cols_;

View File

@@ -294,6 +294,7 @@ void usage() {
piCout << "-f --force " << PICoutManipulators::Green << "- don`t check for another running instance";
piCout << "-n --name <name> " << PICoutManipulators::Green << "- set daemon name";
piCout << "-a --address <ip>" << PICoutManipulators::Green << "- connect to remote daemon via tcp";
piCout << "-s --silent " << PICoutManipulators::Green << "- run without user interfase";
}
@@ -305,6 +306,7 @@ int main(int argc, char * argv[]) {
cli.addArgument("force");
cli.addArgument("kill");
cli.addArgument("1");
cli.addArgument("silent");
cli.addArgument("name", true);
cli.addArgument("address", true);
if (cli.hasArgument("help")) {
@@ -329,7 +331,7 @@ int main(int argc, char * argv[]) {
}
if (cli.hasArgument("daemon")) {
PIStringList args;
args << "-1";
args << "-1" << "s";
if (cli.hasArgument("force"))
args << "-f";
if (cli.hasArgument("address"))
@@ -358,10 +360,18 @@ int main(int argc, char * argv[]) {
if (!name.isEmpty())
daemon->changeName(pisd_prefix + name);
MainMenu * menu = new MainMenu(*daemon);
if (sapp) CONNECTU(sapp, messageReceived, menu, messageFromApp)
screen->start();
screen->waitForFinish();
screen->stop(true);
if (sapp) CONNECTU(sapp, messageReceived, menu, messageFromApp);
if (cli.hasArgument("silent")) {
PIKbdListener ls;
ls.enableExitCapture(PIKbdListener::F10);
ls.start();
WAIT_FOR_EXIT
ls.stop();
} else {
screen->start();
screen->waitForFinish();
screen->stop(true);
}
delete menu;
delete daemon;
delete screen;