X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.logic.model%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fmodel%2Fsnippets%2Fhighlevelstatehandlers%2Fstandard%2Fatomic%2FWireForcingAtomicHighLevelStateHandler.java;h=cd09bd8e7e0b5352d662c9a59657676d96df2cc4;hb=93b398d6271a538a2a4c9f4de07a3b4a8a2a7fd4;hp=c1e8faf1f272c9070de8001bc3ff7d8386d1c95b;hpb=0a04a4ed66ecebd4254541c4977599f6052c115a;p=Mograsim.git diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/standard/atomic/WireForcingAtomicHighLevelStateHandler.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/standard/atomic/WireForcingAtomicHighLevelStateHandler.java index c1e8faf1..cd09bd8e 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/standard/atomic/WireForcingAtomicHighLevelStateHandler.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/standard/atomic/WireForcingAtomicHighLevelStateHandler.java @@ -9,7 +9,7 @@ import java.util.stream.Collectors; import net.mograsim.logic.core.types.Bit; import net.mograsim.logic.core.types.BitVector; import net.mograsim.logic.model.model.components.submodels.SubmodelComponent; -import net.mograsim.logic.model.model.wires.GUIWire; +import net.mograsim.logic.model.model.wires.ModelWire; import net.mograsim.logic.model.serializing.IdentifyParams; import net.mograsim.logic.model.snippets.SnippetDefinintion; import net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.HighLevelStateHandlerContext; @@ -19,8 +19,8 @@ public class WireForcingAtomicHighLevelStateHandler implements AtomicHighLevelSt { private SubmodelComponent component; private int logicWidth; - private final List wiresToForce; - private final List wiresToForceInverted; + private final List wiresToForce; + private final List wiresToForceInverted; public WireForcingAtomicHighLevelStateHandler(HighLevelStateHandlerContext context) { @@ -34,27 +34,27 @@ public class WireForcingAtomicHighLevelStateHandler implements AtomicHighLevelSt this.wiresToForceInverted = new ArrayList<>(); if (params != null) { - Map wiresByName = component.submodel.getWiresByName(); - setWiresToForce(params.wiresToForce.stream().map((Function) wiresByName::get).collect(Collectors.toList()), - params.wiresToForceInverted.stream().map((Function) wiresByName::get).collect(Collectors.toList())); + Map wiresByName = component.submodel.getWiresByName(); + setWiresToForce(params.wiresToForce.stream().map((Function) wiresByName::get).collect(Collectors.toList()), + params.wiresToForceInverted.stream().map((Function) wiresByName::get).collect(Collectors.toList())); } } - public void set(List wiresToForce, List wiresToForceInverted) + public void set(List wiresToForce, List wiresToForceInverted) { setWiresToForce(wiresToForce, wiresToForceInverted); } - public void setWiresToForce(List wiresToForce, List wiresToForceInverted) + public void setWiresToForce(List wiresToForce, List wiresToForceInverted) { clearWiresToForce(); - for (GUIWire wire : wiresToForce) + for (ModelWire wire : wiresToForce) addWireToForce(wire, false); - for (GUIWire wire : wiresToForceInverted) + for (ModelWire wire : wiresToForceInverted) addWireToForce(wire, true); } - public void addWireToForce(GUIWire wire, boolean inverted) + public void addWireToForce(ModelWire wire, boolean inverted) { if (component.submodel.getWiresByName().get(wire.name) != wire) throw new IllegalArgumentException("Can only force wires belonging to the parent component of this handler"); @@ -79,11 +79,11 @@ public class WireForcingAtomicHighLevelStateHandler implements AtomicHighLevelSt public Object getHighLevelState() { BitVector result = BitVector.of(Bit.ZERO, logicWidth); - for (GUIWire wire : wiresToForceInverted) + for (ModelWire wire : wiresToForceInverted) if (wire.hasLogicModelBinding()) result = result.or(wire.getWireValues()); result = result.not(); - for (GUIWire wire : wiresToForce) + for (ModelWire wire : wiresToForce) if (wire.hasLogicModelBinding()) result = result.and(wire.getWireValues()); return result; @@ -97,11 +97,11 @@ public class WireForcingAtomicHighLevelStateHandler implements AtomicHighLevelSt vector = BitVector.of((Bit) newState); else vector = (BitVector) newState; - for (GUIWire wire : wiresToForce) + for (ModelWire wire : wiresToForce) if (wire.hasLogicModelBinding()) wire.forceWireValues(vector); vector = vector.not(); - for (GUIWire wire : wiresToForceInverted) + for (ModelWire wire : wiresToForceInverted) if (wire.hasLogicModelBinding()) wire.forceWireValues(vector); }