From 4dba607041ed5ff4379e5f21b958223e0a3cdcd1 Mon Sep 17 00:00:00 2001 From: angloth <angus.lothian@hotmail.com> Date: Mon, 16 Mar 2020 00:10:21 +0100 Subject: [PATCH] Rename input port and output port signal fields to source signal / destination signals --- b_asic/port.py | 60 +++++++++++++++++++++++++------------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/b_asic/port.py b/b_asic/port.py index d614fbba..c22053df 100644 --- a/b_asic/port.py +++ b/b_asic/port.py @@ -118,106 +118,106 @@ class InputPort(AbstractPort): TODO: More info. """ - _signal: Optional[Signal] + _source_signal: Optional[Signal] def __init__(self, port_id: PortIndex, operation: Operation): super().__init__(port_id, operation) - self._signal = None + self._source_signal = None @property def signals(self) -> List[Signal]: - return [] if self._signal is None else [self._signal] + return [] if self._source_signal is None else [self._source_signal] def signal(self, i: int = 0) -> Signal: assert 0 <= i < self.signal_count(), "Signal index out of bound." - assert self._signal is not None, "No Signal connect to InputPort." - return self._signal + assert self._source_signal is not None, "No Signal connect to InputPort." + return self._source_signal @property def connected_ports(self) -> List[Port]: - return [] if self._signal is None or self._signal.source is None \ - else [self._signal.source] + return [] if self._source_signal is None or self._source_signal.source is None \ + else [self._source_signal.source] def signal_count(self) -> int: - return 0 if self._signal is None else 1 + return 0 if self._source_signal is None else 1 def connect(self, port: "OutputPort") -> Signal: - assert self._signal is None, "Connecting new port to already connected input port." - return Signal(port, self) # self._signal is set by the signal constructor + assert self._source_signal is None, "Connecting new port to already connected input port." + return Signal(port, self) # self._source_signal is set by the signal constructor def add_signal(self, signal: Signal) -> None: - assert self._signal is None, "Connecting new port to already connected input port." - self._signal: Signal = signal + assert self._source_signal is None, "Connecting new port to already connected input port." + self._source_signal: Signal = signal if self is not signal.destination: # Connect this inputport as destination for this signal if it isn't already. signal.set_destination(self) def disconnect(self, port: "OutputPort") -> None: - assert self._signal.source is port, "The entered port is not connected to this port." - self._signal.remove_source() + assert self._source_signal.source is port, "The entered port is not connected to this port." + self._source_signal.remove_source() def remove_signal(self, signal: Signal) -> None: - old_signal: Signal = self._signal - self._signal = None + old_signal: Signal = self._source_signal + self._source_signal = None if self is old_signal.destination: # Disconnect the dest of the signal if this inputport currently is the dest old_signal.remove_destination() def clear(self) -> None: - self.remove_signal(self._signal) + self.remove_signal(self._source_signal) class OutputPort(AbstractPort): """Output port. TODO: More info. """ - _signals: List[Signal] + _destination_signals: List[Signal] def __init__(self, port_id: PortIndex, operation: Operation): super().__init__(port_id, operation) - self._signals = [] + self._destination_signals = [] @property def signals(self) -> List[Signal]: - return self._signals.copy() + return self._destination_signals.copy() def signal(self, i: int = 0) -> Signal: assert 0 <= i < self.signal_count(), "Signal index out of bounds." - return self._signals[i] + return self._destination_signals[i] @property def connected_ports(self) -> List[Port]: - return [signal.destination for signal in self._signals \ + return [signal.destination for signal in self._destination_signals \ if signal.destination is not None] def signal_count(self) -> int: - return len(self._signals) + return len(self._destination_signals) def connect(self, port: InputPort) -> Signal: - return Signal(self, port) # Signal is added to self._signals in signal constructor + return Signal(self, port) # Signal is added to self._destination_signals in signal constructor def add_signal(self, signal: Signal) -> None: assert signal not in self.signals, \ "Attempting to connect to Signal already connected." - self._signals.append(signal) + self._destination_signals.append(signal) if self is not signal.source: # Connect this outputport to the signal if it isn't already signal.set_source(self) def disconnect(self, port: InputPort) -> None: assert port in self.connected_ports, "Attempting to disconnect port that isn't connected." - for sig in self._signals: + for sig in self._destination_signals: if sig.destination is port: sig.remove_destination() break def remove_signal(self, signal: Signal) -> None: - i: int = self._signals.index(signal) - old_signal: Signal = self._signals[i] - del self._signals[i] + i: int = self._destination_signals.index(signal) + old_signal: Signal = self._destination_signals[i] + del self._destination_signals[i] if self is old_signal.source: old_signal.remove_source() def clear(self) -> None: - for signal in self._signals: + for signal in self._destination_signals: self.remove_signal(signal) -- GitLab