Source code for cli.ISOCommand
from typing import List
from utils import config
from synth.ISO import ISO
from core.decision_diagrams.BDDCollection import BDDCollection
from core.decision_diagrams.BDDTopology import BDDTopology
from cli.Command import Command
[docs]
class ISOCommand(Command):
def __init__(self, args: List[str]):
"""
Command to invoke the ISO framework for path-based computing.
:param args: A list of required and optional arguments.
Command usage: iso [-D VALUE]
Optional arguments:
-D VALUE The maximum dimension for the crossbar design.
"""
super().__init__()
if "-D" not in args:
self.dimension = None
else:
idx = args.index("-D")
self.dimension = int(args[idx + 1])
[docs]
def execute(self) -> bool:
context = config.context_manager.get_context()
bdd_collection = BDDCollection()
assert isinstance(context, BDDTopology)
bdd_isomorphism = ISO(context, self.dimension)
bdd_isomorphism.find()
config.context_manager.add_context("bdd_collection", bdd_collection)
return False