From edb26aa36249e3603eab6319f0e8c572ade5f5c5 Mon Sep 17 00:00:00 2001 From: hneemann Date: Mon, 5 Mar 2018 14:22:06 +0100 Subject: [PATCH] simplified AbstractBusHandler.java --- .../core/wiring/bus/AbstractBusHandler.java | 26 ++++++++----------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/src/main/java/de/neemann/digital/core/wiring/bus/AbstractBusHandler.java b/src/main/java/de/neemann/digital/core/wiring/bus/AbstractBusHandler.java index 6e4efd4b0..ec8720160 100644 --- a/src/main/java/de/neemann/digital/core/wiring/bus/AbstractBusHandler.java +++ b/src/main/java/de/neemann/digital/core/wiring/bus/AbstractBusHandler.java @@ -83,28 +83,24 @@ public abstract class AbstractBusHandler { highz &= input.getHighZ(); value |= input.getValue(); } - value &= ~highz; - // check for a burn! + // check for a burn condition! for (ObservableValue input : getInputs()) { long bothDefine = ~(highz | input.getHighZ()); if ((value & bothDefine) != (input.getValue() & bothDefine)) burn = State.burn; } - if (highz != 0) { - switch (getResistor()) { - case pullUp: - set(value | highz, 0); - break; - case pullDown: - set(value, 0); - break; - default: - set(value, highz); - } - } else - set(value, 0); + switch (getResistor()) { + case pullUp: + set(value | highz, 0); + break; + case pullDown: + set(value, 0); + break; + default: + set(value, highz); + } } // if burn condition and not yet added for post step check add for post step check