[med-svn] [SCM] aghermann branch, master, updated. 99b1d5a023eee9df74b0e0d6f894516fc79435ad
Andrei Zavada
johnhommer at gmail.com
Sun Jul 7 23:03:50 UTC 2013
The following commit has been merged in the master branch:
commit 6912179b9cbbd7a4fc30a3c42f119d3ee50a3dfd
Author: Andrei Zavada <johnhommer at gmail.com>
Date: Sun Jun 9 19:02:25 2013 +0300
forgot to give metrics::swu::SPPack some defaults
also, move some simple methods to headers
diff --git a/src/aghermann/metrics/mc.cc b/src/aghermann/metrics/mc.cc
index c641c46..3e7524b 100644
--- a/src/aghermann/metrics/mc.cc
+++ b/src/aghermann/metrics/mc.cc
@@ -21,37 +21,6 @@
using namespace std;
-void
-metrics::mc::SPPack::
-check() const
-{
- if ( mc_gain < 1.0 )
- throw invalid_argument ("mc_gain must be >= 1.0");
- // if ( (int)(pagesize/scope) != (double)pagesize / (double)scope )
- // throw invalid_argument ("Page size not a multiple of MC scope");
-}
-
-
-
-void
-metrics::mc::SPPack::
-reset()
-{
- scope = 30 / 6.; // 5 sec is close to 4 sec ('recommended')
- f0fc = .8;
- bandwidth = 1.5;
- iir_backpolate = 0.5; // 0.0 < Backpolate < 1.0 on s: standard 0.5
- mc_gain = 10.0; // Gain (DigiRange/PhysiRange) of MicroContinuity
- smooth_side = 0;
- freq_from = 0.5;
- freq_inc = .5;
- n_bins = 5;
-}
-
-
-
-
-
metrics::mc::CProfile::
CProfile (const sigfile::CTypedSource& F, int sig_no,
diff --git a/src/aghermann/metrics/mc.hh b/src/aghermann/metrics/mc.hh
index 7539e7f..fb14e18 100644
--- a/src/aghermann/metrics/mc.hh
+++ b/src/aghermann/metrics/mc.hh
@@ -30,11 +30,12 @@ namespace mc {
struct SPPack
: public metrics::SPPack {
double scope,
- f0fc,//f0, // = 1.,
+ f0fc,
+ //f0, // = 1.,
//fc, // = 1.8;
- bandwidth, // = 1.5;
- iir_backpolate, // = 0.5; // 0.0 < Backpolate < 1.0 on s: standard 0.5
- mc_gain; // = 10.0; // Gain (DigiRange/PhysiRange) of MicroContinuity
+ bandwidth, // = 1.5;
+ iir_backpolate, // = 0.5; // 0.0 < Backpolate < 1.0 on s: standard 0.5
+ mc_gain; // = 10.0; // Gain (DigiRange/PhysiRange) of MicroContinuity
size_t smooth_side;
double freq_from,
freq_inc;
@@ -73,8 +74,26 @@ struct SPPack
n_bins = rv.n_bins;
}
- void check() const; // throws
- void reset();
+ void check() const // throws
+ {
+ if ( mc_gain < 1.0 )
+ throw invalid_argument ("mc_gain must be >= 1.0");
+ // if ( (int)(pagesize/scope) != (double)pagesize / (double)scope )
+ // throw invalid_argument ("Page size not a multiple of MC scope");
+ }
+
+ void reset()
+ {
+ scope = 30 / 6.; // 5 sec is close to 4 sec ('recommended')
+ f0fc = .8;
+ bandwidth = 1.5;
+ iir_backpolate = 0.5; // 0.0 < Backpolate < 1.0 on s: standard 0.5
+ mc_gain = 10.0; // Gain (DigiRange/PhysiRange) of MicroContinuity
+ smooth_side = 0;
+ freq_from = 0.5;
+ freq_inc = .5;
+ n_bins = 5;
+ }
size_t
compute_n_bins( size_t) const // to match psd::SPPack::compute_n_bins
diff --git a/src/aghermann/metrics/psd.cc b/src/aghermann/metrics/psd.cc
index a54bf25..80f0ecb 100644
--- a/src/aghermann/metrics/psd.cc
+++ b/src/aghermann/metrics/psd.cc
@@ -39,44 +39,6 @@ metrics::psd::TFFTWPlanType
-void
-metrics::psd::SPPack::
-check() const
-{
- metrics::SPPack::check();
-
- if ( welch_window_type > sigproc::TWinType::TWinType_total )
-#ifdef _OPENMP
-#pragma omp single
-#endif
- throw invalid_argument ("Invalid window type");
- if ( plan_type != metrics::psd::TFFTWPlanType::estimate &&
- plan_type != metrics::psd::TFFTWPlanType::measure )
-#ifdef _OPENMP
-#pragma omp single
-#endif
- throw invalid_argument ("Invalid FFTW plan type");
- for ( auto c : {.1, .25, .5} )
- if ( binsize == c )
- return;
-#ifdef _OPENMP
-#pragma omp single
-#endif
- throw invalid_argument ("Invalid binsize");
-}
-
-void
-metrics::psd::SPPack::
-reset()
-{
- metrics::SPPack::reset();
- binsize = .25;
-}
-
-
-
-
-
metrics::psd::CProfile::
diff --git a/src/aghermann/metrics/psd.hh b/src/aghermann/metrics/psd.hh
index c5d9559..2599f56 100644
--- a/src/aghermann/metrics/psd.hh
+++ b/src/aghermann/metrics/psd.hh
@@ -91,8 +91,32 @@ struct SPPack
return (samplerate * pagesize + 1) / 2 / samplerate / binsize;
}
- void check() const; // throws if not ok
- void reset();
+ void check() const
+ {
+ metrics::SPPack::check();
+
+ if ( welch_window_type > sigproc::TWinType::TWinType_total )
+// What was that?
+// #ifdef _OPENMP
+// #pragma omp single
+// #endif
+ throw invalid_argument ("Invalid window type");
+
+ if ( plan_type != metrics::psd::TFFTWPlanType::estimate &&
+ plan_type != metrics::psd::TFFTWPlanType::measure )
+ throw invalid_argument ("Invalid FFTW plan type");
+
+ for ( auto c : {.1, .25, .5} )
+ if ( binsize == c )
+ return;
+ throw invalid_argument ("Invalid binsize");
+ }
+
+ void reset()
+ {
+ metrics::SPPack::reset();
+ binsize = .25;
+ }
};
diff --git a/src/aghermann/metrics/swu.cc b/src/aghermann/metrics/swu.cc
index 0e94b04..fb46599 100644
--- a/src/aghermann/metrics/swu.cc
+++ b/src/aghermann/metrics/swu.cc
@@ -23,28 +23,6 @@
using namespace std;
-
-void
-metrics::swu::SPPack::
-check() const
-{
- metrics::SPPack::check();
-}
-
-void
-metrics::swu::SPPack::
-reset()
-{
- metrics::SPPack::reset();
- min_upswing_duration = .3;
-}
-
-
-
-
-
-
-
metrics::swu::CProfile::
CProfile (const sigfile::CTypedSource& F, int sig_no,
const SPPack ¶ms)
diff --git a/src/aghermann/metrics/swu.hh b/src/aghermann/metrics/swu.hh
index 8bd8e4c..c4991c8 100644
--- a/src/aghermann/metrics/swu.hh
+++ b/src/aghermann/metrics/swu.hh
@@ -31,17 +31,30 @@ namespace swu {
struct SPPack
- : public metrics:: SPPack {
+ : public metrics::SPPack {
double min_upswing_duration;
+
+ SPPack ()
+ {
+ reset();
+ }
size_t
compute_n_bins( size_t _samplerate) const
{
return 1;
}
- void check() const; // throws if not ok
- void reset();
+ void check() const // throws if not ok
+ {
+ metrics::SPPack::check();
+ }
+
+ void reset()
+ {
+ metrics::SPPack::reset();
+ min_upswing_duration = .3;
+ }
};
--
Sleep experiment manager
More information about the debian-med-commit
mailing list