From 4b5b668df4c1906d97a78911691ebb4a5fa5b2c0 Mon Sep 17 00:00:00 2001 From: "Joachim Wuttke (office)" <j.wuttke@fz-juelich.de> Date: Mon, 1 Sep 2008 17:11:34 +0200 Subject: [PATCH] immer noch absurde 270-er non-Kommentare aus dualplot l. 435. Versuch mit %14.7g --- src/curve.cpp | 18 +++++++++++------- src/dualplot.cpp | 2 +- src/olm.cpp | 10 ++++++++++ src/olm.h | 9 ++++----- 4 files changed, 26 insertions(+), 13 deletions(-) diff --git a/src/curve.cpp b/src/curve.cpp index 93aaf4b4..f9dc82f8 100644 --- a/src/curve.cpp +++ b/src/curve.cpp @@ -469,8 +469,8 @@ double myeval( double x, void* data ) namespace NCurveFile { void IntegrateFile( - const COlc *fin, const int k, const string mode, - const int ip, const string name ); + const COlc *fin, const int k, const string& mode, + const int ip, const string& name, const CCoord& ico ); double NumericIntegral( const COlc *fc, const CCurve *c, const int k, const int j, const double low, const double hig ); @@ -540,10 +540,12 @@ void NCurveFile::Integrate(void) CList parsel( mode, CLimits( 0, fin->nPar()-1 ) ); for( uint iv=0; iv<parsel.n(); ++iv ){ int ip = parsel.V[iv]; - IntegrateFile( fin, fiter.SelNo(), "p", ip, "p"+strg(ip) ); + IntegrateFile( fin, fiter.SelNo(), + "p", ip, "p"+strg(ip), fin->PCo[ip] ); } } else // other integrals - IntegrateFile( fin, fiter.SelNo(), mode, -1, mode ); + IntegrateFile( fin, fiter.SelNo(), mode, -1, mode, + CCoord( "mode", "" ) ); } } @@ -551,8 +553,8 @@ void NCurveFile::Integrate(void) //! Extract exactly one integral from each curve of fin. void NCurveFile::IntegrateFile( const COlc *fin, const int k, - const string mode, const int ip, - const string name ) + const string& mode, const int ip, + const string& name, const CCoord& ico ) { COld fout; CScan S; @@ -566,7 +568,9 @@ void NCurveFile::IntegrateFile( const COlc *fin, const int k, fout.name.replace( 0, 4, "" ); fout.name.insert( 0, name + "_" ); fout.xco = fin->ZCo.back(); - fout.yco = fin->PCo[ip]; + fout.yco = ico; + if( fout.ZCo.size()<1 ) + throw string( "input has no z coord" ); fout.ZCo.pop_back(); S.Clear(); S.z = fin->VC[0].z; diff --git a/src/dualplot.cpp b/src/dualplot.cpp index 9e4edf18..adacc5b0 100644 --- a/src/dualplot.cpp +++ b/src/dualplot.cpp @@ -432,7 +432,7 @@ void NPlot::Line(const int lstyle, ps_accu.push_back( outlin ); for (uint i=0; i<np; i++) { snprintf( outlin, LINSIZ, - "%7.3f%7.3f%7.3f t%c %% %12.6g wx %12.6g wy\n", + "%7.3f%7.3f%7.3f t%c %% %14.7g wx %14.7g wy\n", X.pc(xp[i]), Y.pc(yp[i]), 0.0, i==0 ? 'i' : i==np-1 ? 'f' : ' ', xp[i], yp[i]); diff --git a/src/olm.cpp b/src/olm.cpp index 60c57fa9..1d319239 100644 --- a/src/olm.cpp +++ b/src/olm.cpp @@ -85,6 +85,16 @@ void COlo::SaveHeader_a01(FILE *fd) //***************************************************************************// +COld::COld( class COlc const* c ) +{ + name = c->name; + lDoc = c->lDoc; + xco = c->xco; + yco = c->yco; + ZCo = c->ZCo; + RPar = c->RPar; +} + //! Save bulk of online file in one of several formats. void COld::SaveBody( FILE *fd, string fmt ) diff --git a/src/olm.h b/src/olm.h index 6702d5ca..1d46c6ee 100644 --- a/src/olm.h +++ b/src/olm.h @@ -18,7 +18,7 @@ class COlo { // on-line object (virtual base class for COld, COlc) vector<CParam> RPar; bool as_on_disk; - virtual inline ~COlo(void) { }; // magic: makes dynamic_cast possible + virtual inline ~COlo(void) {}; // magic: makes dynamic_cast possible inline uint nZ(void) const { return ZCo.size(); }; @@ -30,9 +30,8 @@ class COld : public COlo { // on-line data file public: vector<CScan> VS; - inline COld(void) { }; - COld( class COlc const* c ) {}; - //COld(CCoord CX, CCoord CY, CGrid VX, vector<double> VY); + inline COld(void) {}; + COld( class COlc const* c ); inline uint nScan(void) const { return VS.size(); }; uint nPts(uint j) const; @@ -65,7 +64,7 @@ class CEle { void* Ptr; public: - inline CEle(void) { }; + inline CEle(void) {}; inline CEle(COld* pin) { Typ = DATA; Ptr = (void*) pin; -- GitLab