Added project specific format; Default values in WireArray are now U
[Mograsim.git] / era.mi / src / era / mi / logic / Util.java
index 4a03410..b7402c2 100644 (file)
@@ -2,10 +2,12 @@ package era.mi.logic;
 
 import java.util.Arrays;
 
-public final class Util {
+public final class Util
+{
 
        @SuppressWarnings("unchecked")
-       public static <T> T[] concat(T[]... arrays) {
+       public static <T> T[] concat(T[]... arrays)
+       {
                if (arrays.length == 0)
                        throw new IllegalArgumentException("Cannot concatenate 0 arrays.");
 
@@ -15,7 +17,8 @@ public final class Util {
 
                T[] newArray = Arrays.copyOf(arrays[0], length);
                int appendIndex = arrays[0].length;
-               for (int i = 1; i < arrays.length; i++) {
+               for (int i = 1; i < arrays.length; i++)
+               {
                        System.arraycopy(arrays[i], 0, newArray, appendIndex, arrays[i].length);
                        appendIndex += arrays[i].length;
                }
@@ -45,31 +48,38 @@ public final class Util {
 //             return (T[][]) newArray;
 //     }
 
-       public static Bit[] and(Bit[] a, Bit[] b) {
+       public static Bit[] and(Bit[] a, Bit[] b)
+       {
                return binBitOp(a, b, (bA, bB) -> Bit.and(bA, bB));
        }
 
-       public static Bit[] or(Bit[] a, Bit[] b) {
+       public static Bit[] or(Bit[] a, Bit[] b)
+       {
                return binBitOp(a, b, (bA, bB) -> Bit.or(bA, bB));
        }
 
-       public static Bit[] xor(Bit[] a, Bit[] b) {
+       public static Bit[] xor(Bit[] a, Bit[] b)
+       {
                return binBitOp(a, b, (bA, bB) -> Bit.xor(bA, bB));
        }
 
-       private static Bit[] binBitOp(Bit[] a, Bit[] b, BitOp op) {
+       private static Bit[] binBitOp(Bit[] a, Bit[] b, BitOp op)
+       {
                if (a.length != b.length)
                        throw new IllegalArgumentException("Bit Arrays were not of equal length.");
                Bit[] out = new Bit[a.length];
-               for (int i = 0; i < a.length; i++) {
+               for (int i = 0; i < a.length; i++)
+               {
                        out[i] = op.execute(a[i], b[i]);
                }
                return out;
        }
 
-       public static Bit[] not(Bit[] a) {
+       public static Bit[] not(Bit[] a)
+       {
                Bit[] out = new Bit[a.length];
-               for (int i = 0; i < a.length; i++) {
+               for (int i = 0; i < a.length; i++)
+               {
                        out[i] = a[i].not();
                }
                return out;
@@ -80,16 +90,19 @@ public final class Util {
         * 
         * @author Christian Femers
         */
-       public static Bit[] combineInto(Bit[] dest, Bit[] addition) {
+       public static Bit[] combineInto(Bit[] dest, Bit[] addition)
+       {
                if (dest.length != addition.length)
                        throw new IllegalArgumentException("Bit Arrays were not of equal length.");
-               for (int i = 0; i < addition.length; i++) {
+               for (int i = 0; i < addition.length; i++)
+               {
                        dest[i] = dest[i].combineWith(addition[i]);
                }
                return dest;
        }
 
-       interface BitOp {
+       interface BitOp
+       {
                Bit execute(Bit a, Bit b);
        }
 }