Source code for core.decision_diagrams.DDCollection

from __future__ import annotations

from pathlib import Path
from typing import Set

from core.BooleanFunctionCollection import BooleanFunctionCollection
from core.decision_diagrams.DD import DD


[docs] class DDCollection(BooleanFunctionCollection): def __init__(self, dds: Set[DD] = None): super().__init__(dds)
[docs] def get_input_variables(self) -> Set[str]: raise NotImplementedError()
[docs] def get_output_variables(self) -> Set[str]: raise NotImplementedError()
[docs] def get_auxiliary_variables(self) -> Set[str]: raise NotImplementedError()
[docs] @staticmethod def read(file_path: Path) -> BooleanFunctionCollection: raise NotImplementedError()
[docs] def to_string(self) -> str: content = "" for dd in self.boolean_functions: content += dd.to_string() return content
[docs] def add(self, dd: DD): super().add(dd)
[docs] def prune(self) -> DDCollection: new_dd_collection = DDCollection() for dd in self.boolean_functions: new_dd = dd.prune() new_dd_collection.add(new_dd) return new_dd_collection