summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorDaniel Friesel <daniel.friesel@uos.de>2022-06-14 21:19:12 +0200
committerDaniel Friesel <daniel.friesel@uos.de>2022-06-14 21:19:12 +0200
commit675a0f8538ee50542076818e2769c1d762fb42b5 (patch)
tree83618b61dcf96c535fa906b980146b0a01075d8e /lib
parent3aeb9f5a3136afe749e76658e72a33ab7a92ffcf (diff)
analyze-kconfig: add param-shift support
Diffstat (limited to 'lib')
-rw-r--r--lib/utils.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/utils.py b/lib/utils.py
index a8acb51..ed21f0f 100644
--- a/lib/utils.py
+++ b/lib/utils.py
@@ -403,6 +403,22 @@ def by_param_to_by_name(by_param: dict) -> dict:
return by_name
+def shift_param_in_observations(observations, parameter_shift):
+ for param_name, param_shift_function in parameter_shift:
+ if param_name == "*":
+ for observation in observations:
+ for param_name in observation["param"].keys():
+ observation["param"][param_name] = param_shift_function(
+ observation["param"][param_name]
+ )
+ else:
+ for observation in observations:
+ if observation["param"][param_name] is not None:
+ observation["param"][param_name] = param_shift_function(
+ observation["param"][param_name]
+ )
+
+
def shift_param_in_aggregate(aggregate, parameters, parameter_shift):
"""
Remove entries which do not have certain parameter values from `aggregate`.