hwt/hdl/switchContainer.py
def _condHasEffect(self) -> bool:
        """
        :return: True if statements in branches has different effect
        """
        if not self.cases:
            return False

        # [TODO]
        type_domain_covered = bool(self.default) or len(
            self.cases) == self.switchOn._dtype.domain_size()

        stmCnt = len(self.cases[0])
        if type_domain_covered and reduce(
                and_,
                [len(stm) == stmCnt
                 for _, stm in self.cases],
                True) and (self.default is None
                           or len(self.default) == stmCnt):
            stms = list(self._iter_stms())
            if statementsAreSame(stms):
                return False
            else:
                return True
        return True
def _condHasEffect(self) -> bool:
        """
        :return: True if statements in branches has different effect
        """
        if not self.cases:
            return False

        # [TODO]
        type_domain_covered = bool(self.default) or len(
            self.cases) == self.switchOn._dtype.domain_size()

        stmCnt = len(self.cases[0])
        if type_domain_covered and reduce(
                and_,
                [len(stm) == stmCnt
                 for _, stm in self.cases],
                True) and (self.default is None
                           or len(self.default) == stmCnt):
            stms = list(self._iter_stms())
            if statementsAreSame(stms):
                return False
            else:
                return True
        return True
def _condHasEffect ( self ) -> bool : if not self . cases : return False # [TODO] type_domain_covered = bool ( self . default ) or len ( self . cases ) == self . switchOn . _dtype . domain_size ( ) stmCnt = len ( self . cases [ 0 ] ) if type_domain_covered and reduce ( and_ , [ len ( stm ) == stmCnt for _ , stm in self . cases ] , True ) and ( self . default is None or len ( self . default ) == stmCnt ) : stms = list ( self . _iter_stms ( ) ) if statementsAreSame ( stms ) : return False else : return True return True
:return: True if statements in branches has different effect
: return : True if statements in branches has different effect