From: Christian Femers Date: Mon, 26 Aug 2019 01:28:58 +0000 (+0200) Subject: My proposal for resolving add92039f433cd315f2087da9c1a0de899927d96 X-Git-Url: https://mograsim.net/gitweb/?a=commitdiff_plain;ds=sidebyside;h=91969fbb8e1a846c21cdfe6dc7e2b20534d86119;p=Mograsim.git My proposal for resolving add92039f433cd315f2087da9c1a0de899927d96 The choice was made based on functionality (and a bit performance) and mostly readability. --- diff --git a/net.mograsim.logic.core/src/net/mograsim/logic/core/types/Bit.java b/net.mograsim.logic.core/src/net/mograsim/logic/core/types/Bit.java index 8bff357a..da7b8c91 100644 --- a/net.mograsim.logic.core/src/net/mograsim/logic/core/types/Bit.java +++ b/net.mograsim.logic.core/src/net/mograsim/logic/core/types/Bit.java @@ -18,6 +18,11 @@ public enum Bit implements StrictLogicType this.symbol = symbol; } + /** + * Returns if the Bit is binary, this is only true for ZERO and ONE. + * + * @return true if and only if this == ONE || this == ZERO + */ public boolean isBinary() { return this == ONE || this == ZERO; diff --git a/net.mograsim.logic.core/src/net/mograsim/logic/core/types/BitVector.java b/net.mograsim.logic.core/src/net/mograsim/logic/core/types/BitVector.java index 6a364034..e17ae6e1 100644 --- a/net.mograsim.logic.core/src/net/mograsim/logic/core/types/BitVector.java +++ b/net.mograsim.logic.core/src/net/mograsim/logic/core/types/BitVector.java @@ -57,43 +57,12 @@ public final class BitVector implements StrictLogicType, Iterable, Iterable, Iterable BitVector.parse("00X1").toBigInteger(false)); - } - @Test void testOfLongInt() { - assertEquals(BitVector.parse("101"), BitVector.of(0b101L, 3)); - assertEquals(BitVector.parse("01010"), BitVector.of(0b01010L, 5)); - assertEquals(BitVector.parse("10101"), BitVector.of(-11L, 5)); - assertEquals(BitVector.parse("0000"), BitVector.of(0L, 4)); + assertEquals(BitVector.parse("101"), BitVector.from(0b101L, 3)); + assertEquals(BitVector.parse("01010"), BitVector.from(0b01010L, 5)); + assertEquals(BitVector.parse("10101"), BitVector.from(-11L, 5)); + assertEquals(BitVector.parse("0000"), BitVector.from(0L, 4)); } @Test void testOfBigIntegerInt() { - assertEquals(BitVector.parse("101"), BitVector.of(BigInteger.valueOf(0b101), 3)); - assertEquals(BitVector.parse("01010"), BitVector.of(BigInteger.valueOf(0b01010), 5)); - assertEquals(BitVector.parse("10101"), BitVector.of(BigInteger.valueOf(-11), 5)); - assertEquals(BitVector.parse("0000"), BitVector.of(BigInteger.valueOf(0), 4)); + assertEquals(BitVector.parse("101"), BitVector.from(BigInteger.valueOf(0b101), 3)); + assertEquals(BitVector.parse("01010"), BitVector.from(BigInteger.valueOf(0b01010), 5)); + assertEquals(BitVector.parse("10101"), BitVector.from(BigInteger.valueOf(-11), 5)); + assertEquals(BitVector.parse("0000"), BitVector.from(BigInteger.valueOf(0), 4)); } @Test diff --git a/net.mograsim.logic.model.am2900/test/net/mograsim/logic/model/am2900/am2910/TestableAm2910Impl.java b/net.mograsim.logic.model.am2900/test/net/mograsim/logic/model/am2900/am2910/TestableAm2910Impl.java index 1695eae3..f3686aa2 100644 --- a/net.mograsim.logic.model.am2900/test/net/mograsim/logic/model/am2900/am2910/TestableAm2910Impl.java +++ b/net.mograsim.logic.model.am2900/test/net/mograsim/logic/model/am2900/am2910/TestableAm2910Impl.java @@ -54,7 +54,7 @@ public class TestableAm2910Impl implements TestableAm2910 @Override public void setInstruction(Am2910_Inst inst) { - I.setState(BitVector.of(inst.ordinal(), 4)); + I.setState(BitVector.from(inst.ordinal(), 4)); } @Override