aboutsummaryrefslogtreecommitdiff
path: root/pyecsca/sca/re/tree.py
diff options
context:
space:
mode:
Diffstat (limited to 'pyecsca/sca/re/tree.py')
-rw-r--r--pyecsca/sca/re/tree.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/pyecsca/sca/re/tree.py b/pyecsca/sca/re/tree.py
index 1681b82..04e9c1d 100644
--- a/pyecsca/sca/re/tree.py
+++ b/pyecsca/sca/re/tree.py
@@ -320,7 +320,8 @@ class Tree:
"""Describe some important properties of the tree."""
leaf_sizes = [len(leaf.cfgs) for leaf in self.leaves]
leaf_depths = [leaf.depth for leaf in self.leaves]
- leafs: List[int] = sum(([size] * size for size in leaf_sizes), [])
+ leafs_wsize: List[int] = sum(([size] * size for size in leaf_sizes), [])
+ leafs_wdepth: List[int] = sum(([depth] * size for size, depth in zip(leaf_sizes, leaf_depths)), [])
return "\n".join(
(
f"Dmaps: {len(self.maps)}",
@@ -330,9 +331,11 @@ class Tree:
f"Leaves: {len(leaf_sizes)}",
f"Precise: {self.precise}",
f"Leaf sizes: {sorted(leaf_sizes)}",
+ f"Leaf depths: {sorted(leaf_depths)}",
+ f"Average leaf depth: {np.mean(leaf_depths):.3f}",
f"Average leaf size: {np.mean(leaf_sizes):.3f}",
- f"Mean result depth: {np.mean(leaf_depths):.3f}",
- f"Mean result size: {np.mean(leafs):.3f}",
+ f"Mean result depth: {np.mean(leafs_wdepth):.3f}",
+ f"Mean result size: {np.mean(leafs_wsize):.3f}",
)
)