From ba09b3f25d0efabd474f12630fda4a91d7065e82 Mon Sep 17 00:00:00 2001 From: koldo Date: Thu, 12 Dec 2019 13:21:44 +0000 Subject: [PATCH] *ScatterDraw: Fixed Eigen namespace git-svn-id: svn://ultimatepp.org/upp/trunk@13757 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- uppsrc/ScatterDraw/DataSource.cpp | 14 +++++++++----- uppsrc/ScatterDraw/DataSource.h | 2 +- uppsrc/ScatterDraw/Equation.cpp | 1 + 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/uppsrc/ScatterDraw/DataSource.cpp b/uppsrc/ScatterDraw/DataSource.cpp index 94c21c87d..c7246b9b9 100644 --- a/uppsrc/ScatterDraw/DataSource.cpp +++ b/uppsrc/ScatterDraw/DataSource.cpp @@ -5,7 +5,7 @@ #include namespace Upp { - +using namespace Eigen; #define Membercall(fun) (this->*fun) @@ -500,7 +500,7 @@ Vector FFTSimple(VectorXd &data, double tSample, bool frequency, int typ Vector res; VectorXcd freqbuf; try { - Eigen::FFT fft; + FFT fft; fft.SetFlag(fft.HalfSpectrum); fft.fwd(freqbuf, data); } catch(...) { @@ -755,7 +755,8 @@ Vector DataSource::Percentile(Getdatafun getdata, double rate) { Vector ret; for (int i = 0; i < num; ++i) { double val = data[i]; - ret << data[i]; + if (!IsNull(val)) + ret << data[i]; } return ret; } @@ -763,8 +764,11 @@ Vector DataSource::Percentile(Getdatafun getdata, double rate) { double DataSource::PercentileAvg(Getdatafun getdata, double rate) { Vector data = Percentile(getdata, rate); double ret = 0; - for (int i = 0; i < data.GetCount(); ++i) - ret += data[i]; + for (int i = 0; i < data.GetCount(); ++i) { + double val = data[i]; + if (!IsNull(val)) + ret += val; + } return ret/data.GetCount(); } diff --git a/uppsrc/ScatterDraw/DataSource.h b/uppsrc/ScatterDraw/DataSource.h index 449994aaf..869b92493 100644 --- a/uppsrc/ScatterDraw/DataSource.h +++ b/uppsrc/ScatterDraw/DataSource.h @@ -83,7 +83,7 @@ public: {GetSpectralMoments(&DataSource::y, &DataSource::x, frequency, m_1, m0, m1, m2);} Vector SortDataY() {return SortData(&DataSource::y);} - Vector PercentileY(double rate) {return Percentile(&DataSource::y, rate);} + Vector PercentileY(double rate) {return Percentile(&DataSource::y, rate);} double PercentileAvgY(double rate) {return PercentileAvg(&DataSource::y, rate);} double Min(Getdatafun getdata, int64& id); diff --git a/uppsrc/ScatterDraw/Equation.cpp b/uppsrc/ScatterDraw/Equation.cpp index 8d02f0f02..57f0b9f71 100644 --- a/uppsrc/ScatterDraw/Equation.cpp +++ b/uppsrc/ScatterDraw/Equation.cpp @@ -5,6 +5,7 @@ #include namespace Upp { +using namespace Eigen; struct Equation_functor : NonLinearOptimizationFunctor { DataSource *series;