Integrated new types, tests still work, not used yet
[Mograsim.git] / era.mi / src / era / mi / logic / Bit.java
diff --git a/era.mi/src/era/mi/logic/Bit.java b/era.mi/src/era/mi/logic/Bit.java
deleted file mode 100644 (file)
index da9a227..0000000
+++ /dev/null
@@ -1,108 +0,0 @@
-package era.mi.logic;
-
-import java.util.Arrays;
-
-/**
- * stdlogic according to IEEE 1164
- */
-public enum Bit
-{
-       U, X, ZERO, ONE, Z;
-
-       public static Bit and(Bit a, Bit b)
-       {
-               return a.and(b);
-       }
-
-       public Bit and(Bit other)
-       {
-               return fromTable(AND_TABLE, this, other);
-       }
-
-       public static Bit or(Bit a, Bit b)
-       {
-               return a.or(b);
-       }
-
-       public Bit or(Bit other)
-       {
-               return fromTable(OR_TABLE, this, other);
-       }
-
-       public static Bit xor(Bit a, Bit b)
-       {
-               return a.xor(b);
-       }
-
-       public Bit xor(Bit other)
-       {
-               return fromTable(XOR_TABLE, this, other);
-       }
-
-       public Bit not()
-       {
-               switch (this)
-               {
-               case U:
-                       return U;
-               case ONE:
-                       return ZERO;
-               case ZERO:
-                       return ONE;
-               default:
-                       return X;
-               }
-       }
-
-       public Bit[] makeArray(int length)
-       {
-               Bit[] bits = new Bit[length];
-               Arrays.fill(bits, this);
-               return bits;
-       }
-
-       public Bit combineWith(Bit other)
-       {
-               return fromTable(JOIN_TABLE, this, other);
-       }
-
-       public static Bit combine(Bit a, Bit b)
-       {
-               return a.combineWith(b);
-       }
-
-       private static Bit fromTable(Bit[][] table, Bit a, Bit b)
-       {
-               return table[a.ordinal()][b.ordinal()];
-       }
-
-       // @formatter:off
-       private static Bit[][] JOIN_TABLE = 
-               { { U, U, U,    U,   U    }, 
-                 { U, X, X,    X,   X    }, 
-                 { U, X, ZERO, X,   ZERO },
-                 { U, X, X,    ONE, ONE  }, 
-                 { U, X, ZERO, ONE, Z    } };
-
-       private static Bit[][] AND_TABLE = 
-               { { U,    U,    ZERO, U,    U    }, 
-                 { U,    X,    ZERO, X,    X    },
-                 { ZERO, ZERO, ZERO, ZERO, ZERO }, 
-                 { U,    X,    ZERO, ONE,  X    }, 
-                 { U,    X,    ZERO, X,    X    } };
-
-       private static Bit[][] OR_TABLE =
-       { { U,   U,   U,    ONE, U    },    
-         { U,   X,   X,    ONE, X    },    
-         { U,   X,   ZERO, ONE, X    },    
-         { ONE, ONE, ONE,  ONE, ONE  },    
-         { U,   X,   X,    ONE, X    } };
-       
-       private static Bit[][] XOR_TABLE =
-       { { U, U, U,    U,    U },    
-         { U, X, X,    X,    X },    
-         { U, X, ZERO, ONE,  X },    
-         { U, X, ONE,  ZERO, X },    
-         { U, X, X,    X,    X } }; 
-       // @formatter:on
-}
\ No newline at end of file