summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorDaniel Friesel <daniel.friesel@uos.de>2021-11-01 10:18:53 +0100
committerDaniel Friesel <daniel.friesel@uos.de>2021-11-01 10:18:53 +0100
commit3a351ccaae5d497f5c6e6b6288620f88cc0c6e33 (patch)
tree6b0d8beb02050bf24ffa3783b774b3620f10c4ea /lib
parent49c2c463ff6b454c944af3b023139ad4448c8ce4 (diff)
add static & param model output to analyze-kconfig
Diffstat (limited to 'lib')
-rw-r--r--lib/cli.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/lib/cli.py b/lib/cli.py
index 2972ca5..bb1b111 100644
--- a/lib/cli.py
+++ b/lib/cli.py
@@ -33,6 +33,28 @@ def print_static(model, static_model, name, attribute):
)
+def print_analyticinfo(prefix, info):
+ empty = ""
+ print(f"{prefix}: {info.model_function}")
+ print(f"{empty:{len(prefix)}s} {info.model_args}")
+
+
+def print_splitinfo(param_names, info, prefix=""):
+ if type(info) is SplitFunction:
+ for k, v in info.child.items():
+ if info.param_index < len(param_names):
+ param_name = param_names[info.param_index]
+ else:
+ param_name = f"arg{info.param_index - len(param_names)}"
+ print_splitinfo(param_names, v, f"{prefix} {param_name}={k}")
+ elif type(info) is AnalyticFunction:
+ print_analyticinfo(prefix, info)
+ elif type(info) is StaticFunction:
+ print(f"{prefix}: {info.value}")
+ else:
+ print(f"{prefix}: UNKNOWN")
+
+
def format_quality_measures(result):
if "smape" in result:
return "{:6.2f}% / {:9.0f}".format(result["smape"], result["mae"])