Added factory methods for integers
authorChristian Femers <femers@in.tum.de>
Fri, 23 Aug 2019 02:31:16 +0000 (04:31 +0200)
committerChristian Femers <femers@in.tum.de>
Fri, 23 Aug 2019 02:31:16 +0000 (04:31 +0200)
net.mograsim.logic.core/src/net/mograsim/logic/core/types/BitVector.java

index 7437521..18b2d95 100644 (file)
@@ -2,6 +2,7 @@ package net.mograsim.logic.core.types;
 
 import static java.lang.String.format;
 
+import java.math.BigInteger;
 import java.util.Arrays;
 import java.util.Iterator;
 import java.util.NoSuchElementException;
@@ -375,6 +376,21 @@ public final class BitVector implements StrictLogicType<BitVector>, Iterable<Bit
                return new BitVector(values);
        }
 
+       public static BitVector of(long value, int bits)
+       {
+               return of(BigInteger.valueOf(value), bits);
+       }
+
+       public static BitVector of(BigInteger value, int bits)
+       {
+               Bit[] values = new Bit[bits];
+               for (int i = 0; i < bits; i++)
+               {
+                       values[bits - i - 1] = Bit.of(value.testBit(i));
+               }
+               return new BitVector(values);
+       }
+
        /**
         * Iterate over the {@link Bit}s of the BitVector <b>from MSB to LSB</b> (left to right).
         */