X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=era.mi%2Fsrc%2Fera%2Fmi%2Flogic%2Fcomponents%2FBitDisplay.java;h=971eb7a78f18a38bcb1e62328bf01a859f2fe14f;hb=e7180dd9040734555e6a07f2561fb688118b7002;hp=2853154971db83b80387a5513e83b8a4a182f074;hpb=4aab0c0fc739b8710af599ae0701568ecd5ab44f;p=Mograsim.git diff --git a/era.mi/src/era/mi/logic/components/BitDisplay.java b/era.mi/src/era/mi/logic/components/BitDisplay.java index 28531549..971eb7a7 100644 --- a/era.mi/src/era/mi/logic/components/BitDisplay.java +++ b/era.mi/src/era/mi/logic/components/BitDisplay.java @@ -1,36 +1,49 @@ -package era.mi.logic.components; - -import java.util.Arrays; - -import era.mi.logic.Bit; -import era.mi.logic.wires.WireArray; - -public class BitDisplay extends BasicComponent -{ - private final WireArray in; - private Bit[] displayedValue; - - public BitDisplay(WireArray in) - { - super(1); - this.in = in; - in.addObserver(this); - compute(); - } - - @Override - protected void compute() - { - displayedValue = in.getValues(); - } - - public Bit[] getDisplayedValue() - { - return displayedValue; - } - - public boolean isDisplaying(Bit... values) - { - return Arrays.equals(displayedValue, values); - } -} +package era.mi.logic.components; + +import java.util.List; + +import era.mi.logic.types.Bit; +import era.mi.logic.types.BitVector; +import era.mi.logic.wires.Wire.WireEnd; + +public class BitDisplay extends BasicComponent +{ + private final WireEnd in; + private BitVector displayedValue; + + public BitDisplay(WireEnd in) + { + super(1); + this.in = in; + in.addObserver(this); + compute(); + } + + @Override + protected void compute() + { + displayedValue = in.getValues(); + } + + public BitVector getDisplayedValue() + { + return displayedValue; + } + + public boolean isDisplaying(Bit... values) + { + return displayedValue.equals(BitVector.of(values)); + } + + @Override + public List getAllInputs() + { + return List.of(in); + } + + @Override + public List getAllOutputs() + { + return List.of(); + } +}