[med-svn] [aghermann] 20/85: collect some loose CExpDesign fields into a struct SProfileCommonPPack

andrei zavada hmmr-guest at alioth.debian.org
Thu Sep 26 23:46:24 UTC 2013


This is an automated email from the git hooks/post-receive script.

hmmr-guest pushed a commit to branch master
in repository aghermann.

commit a2e83d471643538a6710c1a80509652dea87784e
Author: Andrei Zavada <johnhommer at gmail.com>
Date:   Thu Sep 12 02:29:07 2013 +0300

    collect some loose CExpDesign fields into a struct SProfileCommonPPack
---
 upstream/src/aghermann/expdesign/expdesign.cc  |   38 +++++++------
 upstream/src/aghermann/expdesign/expdesign.hh  |    8 +--
 upstream/src/aghermann/expdesign/recording.hh  |   69 +++++++++++-------------
 upstream/src/aghermann/ui/mw/mw.cc             |   18 +++----
 upstream/src/aghermann/ui/mw/simulations_cb.cc |   35 ++++++------
 5 files changed, 81 insertions(+), 87 deletions(-)

diff --git a/upstream/src/aghermann/expdesign/expdesign.cc b/upstream/src/aghermann/expdesign/expdesign.cc
index 175ff28..6e926e5 100644
--- a/upstream/src/aghermann/expdesign/expdesign.cc
+++ b/upstream/src/aghermann/expdesign/expdesign.cc
@@ -65,25 +65,23 @@ CExpDesign (const string& session_dir_,
         af_dampen_window_type (sigproc::TWinType::welch),
         af_dampen_factor (.95),
         tunables0 (tstep, tlo, thi), // only references here, don't worry
-        req_percent_scored (80.),
-        swa_laden_pages_before_SWA_0 (3),
         strict_subject_id_checks (false),
         _id_pool (0),
         config_keys_g ({
                 SValidator<double>("ctl_param.step_size",            &ctl_params0.siman_params.step_size),
-                SValidator<double>("ctl_param.boltzmann_k",          &ctl_params0.siman_params.k,            SValidator<double>::SVFRangeEx( DBL_MIN, 1e9)),
-                SValidator<double>("ctl_param.t_initial",            &ctl_params0.siman_params.t_initial,    SValidator<double>::SVFRangeEx( DBL_MIN, 1e9)),
-                SValidator<double>("ctl_param.damping_mu",           &ctl_params0.siman_params.mu_t,         SValidator<double>::SVFRangeEx( DBL_MIN, 1e9)),
-                SValidator<double>("ctl_param.t_min",                &ctl_params0.siman_params.t_min,        SValidator<double>::SVFRangeEx( DBL_MIN, 1e9)),
-                SValidator<double>("profile.req_scored_pc",          &req_percent_scored,                    SValidator<double>::SVFRangeIn( 80., 100.)),
-                SValidator<double>("fft_param.pagesize",             &fft_params.pagesize,                   SValidator<double>::SVFRangeIn( 4., 120.)),
-                SValidator<double>("fft_param.binsize",              &fft_params.binsize,                    SValidator<double>::SVFRangeIn( .125, 1.)),
-                SValidator<double>("artifacts.dampen_factor",        &af_dampen_factor,                      SValidator<double>::SVFRangeIn( 0., 1.)),
-                SValidator<double>("mc_param.mc_gain",               &mc_params.mc_gain,                     SValidator<double>::SVFRangeIn( 0., 100.)),
-                SValidator<double>("mc_param.f0fc",                  &mc_params.f0fc,                        SValidator<double>::SVFRangeEx( 0., 80.)),
-                SValidator<double>("mc_param.bandwidth",             &mc_params.bandwidth,                   SValidator<double>::SVFRangeIn( 0.125, 2.)),
-                SValidator<double>("mc_param.iir_backpolate",        &mc_params.iir_backpolate,              SValidator<double>::SVFRangeIn( 0., 1.)),
-                SValidator<double>("swu_param.min_upswing_duration", &swu_params.min_upswing_duration,       SValidator<double>::SVFRangeIn( 0.01, 1.)),
+                SValidator<double>("ctl_param.boltzmann_k",          &ctl_params0.siman_params.k,                SValidator<double>::SVFRangeEx( DBL_MIN, 1e9)),
+                SValidator<double>("ctl_param.t_initial",            &ctl_params0.siman_params.t_initial,        SValidator<double>::SVFRangeEx( DBL_MIN, 1e9)),
+                SValidator<double>("ctl_param.damping_mu",           &ctl_params0.siman_params.mu_t,             SValidator<double>::SVFRangeEx( DBL_MIN, 1e9)),
+                SValidator<double>("ctl_param.t_min",                &ctl_params0.siman_params.t_min,            SValidator<double>::SVFRangeEx( DBL_MIN, 1e9)),
+                SValidator<double>("profile.req_scored_pc",          &profile_common_params0.req_percent_scored, SValidator<double>::SVFRangeIn( 80., 100.)),
+                SValidator<double>("fft_param.pagesize",             &fft_params.pagesize,                       SValidator<double>::SVFRangeIn( 4., 120.)),
+                SValidator<double>("fft_param.binsize",              &fft_params.binsize,                        SValidator<double>::SVFRangeIn( .125, 1.)),
+                SValidator<double>("artifacts.dampen_factor",        &af_dampen_factor,                          SValidator<double>::SVFRangeIn( 0., 1.)),
+                SValidator<double>("mc_param.mc_gain",               &mc_params.mc_gain,                         SValidator<double>::SVFRangeIn( 0., 100.)),
+                SValidator<double>("mc_param.f0fc",                  &mc_params.f0fc,                            SValidator<double>::SVFRangeEx( 0., 80.)),
+                SValidator<double>("mc_param.bandwidth",             &mc_params.bandwidth,                       SValidator<double>::SVFRangeIn( 0.125, 2.)),
+                SValidator<double>("mc_param.iir_backpolate",        &mc_params.iir_backpolate,                  SValidator<double>::SVFRangeIn( 0., 1.)),
+                SValidator<double>("swu_param.min_upswing_duration", &swu_params.min_upswing_duration,           SValidator<double>::SVFRangeIn( 0.01, 1.)),
         }),
         config_keys_d ({
                 SValidator<int>("fft_param.welch_window_type",  (int*)&fft_params.welch_window_type,           SValidator<int>::SVFRangeIn( 0, (int)sigproc::TWinType_total - 1)),
@@ -93,17 +91,17 @@ CExpDesign (const string& session_dir_,
                 SValidator<int>("ctl_param.n_tries",                  &ctl_params0.siman_params.n_tries,       SValidator<int>::SVFRangeIn( 1, 10000)),
         }),
         config_keys_z ({
-                SValidator<size_t>("smp.num_threads",                      &num_threads,                  SValidator<size_t>::SVFRangeIn( 0, 20)),
-                SValidator<size_t>("mc_params.n_bins",                     &mc_params.n_bins,             SValidator<size_t>::SVFRangeIn( 1, 100)),
-                SValidator<size_t>("profile.swa_laden_pages_before_SWA_0", &swa_laden_pages_before_SWA_0, SValidator<size_t>::SVFRangeIn( 1, 100)),
-                SValidator<size_t>("mc_param.smooth_side",                 &mc_params.smooth_side,        SValidator<size_t>::SVFRangeIn( 0, 5)),
+                SValidator<size_t>("smp.num_threads",                      &num_threads,                                         SValidator<size_t>::SVFRangeIn( 0, 20)),
+                SValidator<size_t>("mc_params.n_bins",                     &mc_params.n_bins,                                    SValidator<size_t>::SVFRangeIn( 1, 100)),
+                SValidator<size_t>("profile.swa_laden_pages_before_SWA_0", &profile_common_params0.swa_laden_pages_before_SWA_0, SValidator<size_t>::SVFRangeIn( 1, 100)),
+                SValidator<size_t>("mc_param.smooth_side",                 &mc_params.smooth_side,                               SValidator<size_t>::SVFRangeIn( 0, 5)),
         }),
         config_keys_b ({
                 SValidator<bool>("ctl_param.DBAmendment1",         &ctl_params0.DBAmendment1),
                 SValidator<bool>("ctl_param.DBAmendment2",         &ctl_params0.DBAmendment2),
                 SValidator<bool>("ctl_param.AZAmendment1",         &ctl_params0.AZAmendment1),
                 SValidator<bool>("ctl_param.AZAmendment2",         &ctl_params0.AZAmendment2),
-                SValidator<bool>("profile.score_unscored_as_wake", &score_unscored_as_wake),
+                SValidator<bool>("profile.score_unscored_as_wake", &profile_common_params0.score_unscored_as_wake),
                 SValidator<bool>("StrictSubjectIdChecks",          &strict_subject_id_checks),
         }),
         config_keys_s ({
diff --git a/upstream/src/aghermann/expdesign/expdesign.hh b/upstream/src/aghermann/expdesign/expdesign.hh
index ecc3324..8c90273 100644
--- a/upstream/src/aghermann/expdesign/expdesign.hh
+++ b/upstream/src/aghermann/expdesign/expdesign.hh
@@ -245,10 +245,10 @@ class CExpDesign {
 
         ach::SControlParamSet
                 ctl_params0;
-        double        req_percent_scored;
-        size_t        swa_laden_pages_before_SWA_0;
-        bool        score_unscored_as_wake,
-                strict_subject_id_checks;
+        SProfileCommonPPack
+                profile_common_params0;
+
+        bool    strict_subject_id_checks;
 
         int load_settings();
         int save_settings();
diff --git a/upstream/src/aghermann/expdesign/recording.hh b/upstream/src/aghermann/expdesign/recording.hh
index 62191ae..ccea3bf 100644
--- a/upstream/src/aghermann/expdesign/recording.hh
+++ b/upstream/src/aghermann/expdesign/recording.hh
@@ -24,7 +24,23 @@ using namespace std;
 
 namespace agh {
 
-struct SProfileParamSet {
+struct SProfileCommonPPack {
+        double  req_percent_scored;
+        size_t  swa_laden_pages_before_SWA_0;
+        bool    score_unscored_as_wake;
+
+        SProfileCommonPPack ()
+              : req_percent_scored (90.),
+                swa_laden_pages_before_SWA_0 (3),
+                score_unscored_as_wake (true)
+                {}
+        SProfileCommonPPack (const SProfileCommonPPack&) = default;
+};
+
+
+struct SProfileParamSet
+      : SProfileCommonPPack {
+
         metrics::TType
                 metric;
         const char*
@@ -48,43 +64,22 @@ struct SProfileParamSet {
                 SWU swu;
         } P;
 
-        double  req_percent_scored;
-        size_t  swa_laden_pages_before_SWA_0;
-        bool    score_unscored_as_wake;
 
         SProfileParamSet (const SProfileParamSet::PSD& psd_,
-                          double req_percent_scored_ = 90.,
-                          size_t swa_laden_pages_before_SWA_0_ = 3,
-                          bool        score_unscored_as_wake_ = true)
-              : metric (metrics::TType::psd),
-                req_percent_scored (req_percent_scored_),
-                swa_laden_pages_before_SWA_0 (swa_laden_pages_before_SWA_0_),
-                score_unscored_as_wake (score_unscored_as_wake_)
-                {
-                        P.psd = psd_;
-                }
+                          const SProfileCommonPPack& pp_)
+              : SProfileCommonPPack (pp_),
+                metric (metrics::TType::psd)
+                { P.psd = psd_; }
         SProfileParamSet (const SProfileParamSet::SWU& swu_,
-                          double req_percent_scored_ = 90.,
-                          size_t swa_laden_pages_before_SWA_0_ = 3,
-                          bool        score_unscored_as_wake_ = true)
-              : metric (metrics::TType::swu),
-                req_percent_scored (req_percent_scored_),
-                swa_laden_pages_before_SWA_0 (swa_laden_pages_before_SWA_0_),
-                score_unscored_as_wake (score_unscored_as_wake_)
-                {
-                        P.swu = swu_;
-                }
+                          const SProfileCommonPPack& pp_)
+              : SProfileCommonPPack (pp_),
+                metric (metrics::TType::swu)
+                { P.swu = swu_; }
         SProfileParamSet (const SProfileParamSet::MC& mc_,
-                          double req_percent_scored_ = 90.,
-                          size_t swa_laden_pages_before_SWA_0_ = 3,
-                          bool        score_unscored_as_wake_ = true)
-              : metric (metrics::TType::mc),
-                req_percent_scored (req_percent_scored_),
-                swa_laden_pages_before_SWA_0 (swa_laden_pages_before_SWA_0_),
-                score_unscored_as_wake (score_unscored_as_wake_)
-                {
-                        P.mc = mc_;
-                }
+                          const SProfileCommonPPack& pp_)
+              : SProfileCommonPPack (pp_),
+                metric (metrics::TType::mc)
+                { P.mc = mc_; }
 
         string display_name() const;
 
@@ -107,21 +102,21 @@ make_profile_paramset<metrics::TType::psd>(double freq_from, ...)
         va_start (ap, freq_from);
         double freq_upto = va_arg (ap, double);
         va_end (ap);
-        return SProfileParamSet (SProfileParamSet::PSD {freq_from, freq_upto});
+        return SProfileParamSet (SProfileParamSet::PSD {freq_from, freq_upto}, SProfileCommonPPack ());
 }
 
 template<>
 inline SProfileParamSet
 make_profile_paramset<metrics::TType::swu>(double f0, ...)
 {
-        return SProfileParamSet (SProfileParamSet::SWU {f0});
+        return SProfileParamSet (SProfileParamSet::SWU {f0}, SProfileCommonPPack ());
 }
 
 template<>
 inline SProfileParamSet
 make_profile_paramset<metrics::TType::mc>(double f0, ...)
 {
-        return SProfileParamSet (SProfileParamSet::MC {f0});
+        return SProfileParamSet (SProfileParamSet::MC {f0}, SProfileCommonPPack ());
 }
 
 
diff --git a/upstream/src/aghermann/ui/mw/mw.cc b/upstream/src/aghermann/ui/mw/mw.cc
index e491648..0a85114 100644
--- a/upstream/src/aghermann/ui/mw/mw.cc
+++ b/upstream/src/aghermann/ui/mw/mw.cc
@@ -51,16 +51,16 @@ make_active_profile_paramset() const
         switch ( display_profile_type ) {
         case metrics::TType::psd:
                 return agh::SProfileParamSet (
-                        agh::SProfileParamSet::PSD {active_profile_psd_freq_from, active_profile_psd_freq_upto}
-                        );
+                        agh::SProfileParamSet::PSD {active_profile_psd_freq_from, active_profile_psd_freq_upto},
+                        ED->profile_common_params0);
         case metrics::TType::swu:
                 return agh::SProfileParamSet (
-                        agh::SProfileParamSet::SWU {active_profile_swu_f0}
-                        );
+                        agh::SProfileParamSet::SWU {active_profile_swu_f0},
+                        ED->profile_common_params0);
         case metrics::TType::mc:
                 return agh::SProfileParamSet (
-                        agh::SProfileParamSet::MC {active_profile_mc_f0}
-                        );
+                        agh::SProfileParamSet::MC {active_profile_mc_f0},
+                        ED->profile_common_params0);
         default:
                 throw runtime_error ("Which profile is this?");
         }
@@ -281,9 +281,9 @@ SExpDesignUI (SSessionChooser *parent,
         W_V2.reg( eCtlParamDBAmendment1,                &ED->ctl_params0.DBAmendment1);
         W_V2.reg( eCtlParamDBAmendment2,                &ED->ctl_params0.DBAmendment2);
         W_V2.reg( eCtlParamAZAmendment1,                &ED->ctl_params0.AZAmendment1);
-        W_V2.reg( eCtlParamNSWAPpBeforeSimStart,  (int*)&ED->swa_laden_pages_before_SWA_0);
-        W_V2.reg( eCtlParamReqScoredPercent,            &ED->req_percent_scored);
-        W_V2.reg( eCtlParamScoreUnscoredAsWake,         &ED->score_unscored_as_wake);
+        W_V2.reg( eCtlParamNSWAPpBeforeSimStart,  (int*)&ED->profile_common_params0.swa_laden_pages_before_SWA_0);
+        W_V2.reg( eCtlParamReqScoredPercent,            &ED->profile_common_params0.req_percent_scored);
+        W_V2.reg( eCtlParamScoreUnscoredAsWake,         &ED->profile_common_params0.score_unscored_as_wake);
 
         // tunables are isolated so they can be reset separately
         for ( size_t t = 0; t < agh::ach::TTunable::_basic_tunables; ++t ) {
diff --git a/upstream/src/aghermann/ui/mw/simulations_cb.cc b/upstream/src/aghermann/ui/mw/simulations_cb.cc
index 709021e..5eb53f4 100644
--- a/upstream/src/aghermann/ui/mw/simulations_cb.cc
+++ b/upstream/src/aghermann/ui/mw/simulations_cb.cc
@@ -98,28 +98,29 @@ iSimulationsRunBatch_activate_cb(
                                                        this_freq_upto = freq_from + freq_width;
                                                 for ( size_t step = 0; step < freq_steps;
                                                       ++step, this_freq_from += freq_inc, this_freq_upto += freq_inc ) {
-                                                        ED.ED->setup_modrun( J.c_str(), D.c_str(), H.c_str(),
-                                                                             agh::SProfileParamSet (
-                                                                                     agh::SProfileParamSet::PSD {
-                                                                                             this_freq_from, this_freq_upto
-                                                                                     }
-                                                                             ),
-                                                                             nullptr);
+                                                        ED.ED->setup_modrun(
+                                                                J.c_str(), D.c_str(), H.c_str(),
+                                                                agh::SProfileParamSet (
+                                                                        agh::SProfileParamSet::PSD { this_freq_from, this_freq_upto },
+                                                                        ED.ED->profile_common_params0),
+                                                                nullptr);
                                                 }
                                         }   break;
                                         case metrics::TType::swu:
-                                                ED.ED->setup_modrun( J.c_str(), D.c_str(), H.c_str(),
-                                                                     agh::SProfileParamSet (
-                                                                             agh::SProfileParamSet::SWU {freq_from}
-                                                                     ),
-                                                                     nullptr);
+                                                ED.ED->setup_modrun(
+                                                        J.c_str(), D.c_str(), H.c_str(),
+                                                        agh::SProfileParamSet (
+                                                                agh::SProfileParamSet::SWU {freq_from},
+                                                                ED.ED->profile_common_params0),
+                                                        nullptr);
                                             break;
                                         case metrics::TType::mc:
-                                                ED.ED->setup_modrun( J.c_str(), D.c_str(), H.c_str(),
-                                                                     agh::SProfileParamSet (
-                                                                             agh::SProfileParamSet::MC {freq_from}
-                                                                     ),
-                                                                     nullptr);
+                                                ED.ED->setup_modrun(
+                                                        J.c_str(), D.c_str(), H.c_str(),
+                                                        agh::SProfileParamSet (
+                                                                agh::SProfileParamSet::MC {freq_from},
+                                                                ED.ED->profile_common_params0),
+                                                        nullptr);
                                             break;
                                         default:
                                                 throw runtime_error ("What metric is this?");

-- 
Alioth's /git/debian-med/git-commit-notice on /srv/git.debian.org/git/debian-med/aghermann.git



More information about the debian-med-commit mailing list