{
private Collection<LogicObserver> observers;
private ReadWriteEnd output;
+ private BitVector inputValues;
public ManualSwitch(Timeline timeline, ReadWriteEnd output)
{
super(timeline);
observers = new ArrayList<>();
this.output = output;
+ this.inputValues = output.getInputValues();
}
public void switchFullOn()
{
if (bits.length() != output.width())
throw new IllegalArgumentException("Incorrect bit vector length");
- if (bits.equals(output.getInputValues()))
+ if (bits.equals(inputValues))
return;
+ inputValues = bits;
output.feedSignals(bits);
notifyObservers();
}
public BitVector getValues()
{
- return output.getInputValues();
+ return inputValues;
}
@Override