From 424075047c41b06945801baca104a9ffb23032a3 Mon Sep 17 00:00:00 2001 From: Bent Bisballe Nyeng Date: Sun, 5 Nov 2017 12:49:16 +0100 Subject: Add stddev scalar to sample selection. --- src/powerlist.cc | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'src/powerlist.cc') diff --git a/src/powerlist.cc b/src/powerlist.cc index b5e7c84..37a13a3 100644 --- a/src/powerlist.cc +++ b/src/powerlist.cc @@ -38,6 +38,9 @@ #endif #include +#include "random.h" +#include "settings.h" + /** * Minimum sample set size. * Smaller means wider 'velocity groups'. @@ -50,8 +53,9 @@ unsigned int const MIN_SAMPLE_SET_SIZE = 26u; //#define AUTO_CALCULATE_POWER unsigned int const LOAD_SIZE = 500u; -PowerList::PowerList(Random& rand) +PowerList::PowerList(Random& rand, Settings& settings) : rand(rand) + , settings(settings) { power_max = 0; power_min = 100000000; @@ -204,6 +208,8 @@ void PowerList::finalise() Sample* PowerList::get(level_t level) { + auto velocity_stddev = settings.velocity_stddev.load(); + if(!samples.size()) { return nullptr; // No samples to choose from. @@ -226,6 +232,7 @@ Sample* PowerList::get(level_t level) // Cut off mean value with stddev/2 in both ends in order to make room for // downwards expansion on velocity 0 and upwards expansion on velocity 1. float mean = level * (power_span - stddev) + (stddev / 2.0); + stddev *= velocity_stddev; float power{0.f}; -- cgit v1.2.3