[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