Review at https://gerrit.osmocom.org/6231
cdf: Add API to scale percent to target value We want to start 10k of instances and it is easier to have the necessary conversion from percent to number in the CDF function. Change-Id: I9d5b63909eef3d592aec6d51452f3b1811d8cc07 --- M src/osmo_ms_driver/cdf.py 1 file changed, 48 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/31/6231/1 diff --git a/src/osmo_ms_driver/cdf.py b/src/osmo_ms_driver/cdf.py index fbdc05f..e84d9c7 100644 --- a/src/osmo_ms_driver/cdf.py +++ b/src/osmo_ms_driver/cdf.py @@ -37,12 +37,22 @@ self._fun = fun self._x = 0.0 self._y = self._fun(self._x) + self._target = 1.0 + + def set_target(self, scale): + """ + Scale the percentage to the target value.. + """ + self._target = scale def is_done(self): return self._y >= 1.0 def current_value(self): return self._y + + def current_scaled_value(self): + return self._y * self._target def step_once(self): self._x = self._x + self._step.total_seconds() @@ -95,6 +105,44 @@ 1.0... >>> a.is_done() True + + >>> a = linear_with_duration(timedelta(seconds=10), step_size=timedelta(seconds=2)) + >>> a.set_target(1000) + >>> a.is_done() + False + >>> a.current_value() + 0.0 + >>> a.current_scaled_value() + 0.0 + >>> a.step_once() + >>> a.current_value() + 0.2 + >>> a.current_scaled_value() + 200.0 + >>> a.step_once() + >>> a.current_value() + 0.4 + >>> a.current_scaled_value() + 400.0 + >>> a.step_once() + >>> a.current_value() + 0.6... + >>> a.current_scaled_value() + 600.0... + >>> a.step_once() + >>> a.current_value() + 0.8... + >>> a.current_scaled_value() + 800.0... + >>> a.is_done() + False + >>> a.step_once() + >>> a.current_value() + 1.0... + >>> a.current_scaled_value() + 1000.0... + >>> a.is_done() + True """ slope = 1.0/duration.total_seconds() return linear_with_slope(slope, step_size) -- To view, visit https://gerrit.osmocom.org/6231 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I9d5b63909eef3d592aec6d51452f3b1811d8cc07 Gerrit-PatchSet: 1 Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Owner: Holger Freyther <hol...@freyther.de>