diff options
author | Sebastian Koslowski <koslowski@kit.edu> | 2016-07-14 14:22:43 +0200 |
---|---|---|
committer | Sebastian Koslowski <koslowski@kit.edu> | 2016-07-14 14:22:43 +0200 |
commit | fb81e9b463d8e0c1f6f2aa5739a290a00fcab207 (patch) | |
tree | c803cb79ecf52e9a697ca0cc776ebc0d7d589fb0 /grc/core/utils/complexity.py | |
parent | 5b9404f8836db0ccfc0d732d93b1b7beeca96ded (diff) |
grc: refactor: minor clean-up and fixes
Diffstat (limited to 'grc/core/utils/complexity.py')
-rw-r--r-- | grc/core/utils/complexity.py | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/grc/core/utils/complexity.py b/grc/core/utils/complexity.py deleted file mode 100644 index 6da16eb28d..0000000000 --- a/grc/core/utils/complexity.py +++ /dev/null @@ -1,50 +0,0 @@ - -def calculate_flowgraph_complexity(flowgraph): - """ Determines the complexity of a flowgraph """ - dbal = 0 - for block in flowgraph.blocks: - # Skip options block - if block.key == 'options': - continue - - # Don't worry about optional sinks? - sink_list = [c for c in block.sinks if not c.get_optional()] - source_list = [c for c in block.sources if not c.get_optional()] - sinks = float(len(sink_list)) - sources = float(len(source_list)) - base = max(min(sinks, sources), 1) - - # Port ratio multiplier - if min(sinks, sources) > 0: - multi = sinks / sources - multi = (1 / multi) if multi > 1 else multi - else: - multi = 1 - - # Connection ratio multiplier - sink_multi = max(float(sum(len(c.get_connections()) for c in sink_list) / max(sinks, 1.0)), 1.0) - source_multi = max(float(sum(len(c.get_connections()) for c in source_list) / max(sources, 1.0)), 1.0) - dbal += base * multi * sink_multi * source_multi - - blocks = float(len(flowgraph.blocks)) - connections = float(len(flowgraph.connections)) - elements = blocks + connections - disabled_connections = sum(not c.get_enabled() for c in flowgraph.connections) - - variables = elements - blocks - connections - enabled = float(len(flowgraph.get_enabled_blocks())) - - # Disabled multiplier - if enabled > 0: - disabled_multi = 1 / (max(1 - ((blocks - enabled) / max(blocks, 1)), 0.05)) - else: - disabled_multi = 1 - - # Connection multiplier (How many connections ) - if (connections - disabled_connections) > 0: - conn_multi = 1 / (max(1 - (disabled_connections / max(connections, 1)), 0.05)) - else: - conn_multi = 1 - - final = round(max((dbal - 1) * disabled_multi * conn_multi * connections, 0.0) / 1000000, 6) - return final |