add edu.berkeley.fleet.util.BitMask
authorAdam Megacz <adam@megacz.com>
Thu, 16 Jul 2009 18:23:38 +0000 (11:23 -0700)
committerAdam Megacz <adam@megacz.com>
Thu, 16 Jul 2009 18:23:38 +0000 (11:23 -0700)
src/edu/berkeley/fleet/util/BitMask.java [new file with mode: 0644]

diff --git a/src/edu/berkeley/fleet/util/BitMask.java b/src/edu/berkeley/fleet/util/BitMask.java
new file mode 100644 (file)
index 0000000..e607b07
--- /dev/null
@@ -0,0 +1,30 @@
+package edu.berkeley.fleet.util;
+import edu.berkeley.fleet.api.*;
+import edu.berkeley.fleet.*;
+import java.io.*;
+
+/** A bit mask assigns 1, 0, or dont-care to each bit position */
+public class BitMask {
+
+    public final BitVector ones;
+    public final BitVector zeroes;
+
+    public BitMask(BitVector ones, BitVector zeroes) {
+        if (ones.length() != zeroes.length())
+            throw new RuntimeException("attempt to invoke BitMask with different-size "+
+                                       "BitVectors: ones="+ones+", zeroes="+zeroes);
+        ones.setImmutable();
+        zeroes.setImmutable();
+        this.ones = ones;
+        this.zeroes = zeroes;
+    }
+
+    public BitVector apply(BitVector bv) {
+        throw new RuntimeException("not implemented");
+    }
+
+    public boolean test(BitVector bv) {
+        throw new RuntimeException("not implemented");
+    }
+
+}