home *** CD-ROM | disk | FTP | other *** search
- package espresso;
-
- class Bits {
- private int[] bits;
- static final int wordmask = 31;
- static final int wordshift = 5;
- static final int wordlen = 32;
-
- public String toString() {
- char[] var1 = new char[this.bits.length * 32];
-
- for(int var2 = 0; var2 < this.bits.length * 32; ++var2) {
- var1[var2] = (char)(this.member(var2) ? 49 : 48);
- }
-
- return new String(var1);
- }
-
- public void orSet(Bits var1) {
- this.sizeTo(var1.bits.length);
-
- for(int var2 = 0; var2 < var1.bits.length; ++var2) {
- this.bits[var2] |= var1.bits[var2];
- }
-
- }
-
- public void andSet(Bits var1) {
- this.sizeTo(var1.bits.length);
-
- for(int var2 = 0; var2 < var1.bits.length; ++var2) {
- this.bits[var2] &= var1.bits[var2];
- }
-
- }
-
- public void assign(Bits var1) {
- this.sizeTo(var1.bits.length);
-
- for(int var2 = 0; var2 < var1.bits.length; ++var2) {
- this.bits[var2] = var1.bits[var2];
- }
-
- }
-
- public boolean member(int var1) {
- return 0 <= var1 && var1 < this.bits.length << 5 && (this.bits[var1 >>> 5] & 1 << (var1 & 31)) != 0;
- }
-
- public void excl(int var1) {
- if (var1 >= 0) {
- this.sizeTo((var1 >>> 5) + 1);
- this.bits[var1 >>> 5] &= ~(1 << (var1 & 31));
- }
-
- }
-
- public void incl(int var1) {
- if (var1 >= 0) {
- this.sizeTo((var1 >>> 5) + 1);
- this.bits[var1 >>> 5] |= 1 << (var1 & 31);
- }
-
- }
-
- public Bits dup() {
- int[] var1 = new int[this.bits.length];
- System.arraycopy(this.bits, 0, var1, 0, this.bits.length);
- return new Bits(var1);
- }
-
- public void clear() {
- for(int var1 = 0; var1 < this.bits.length; ++var1) {
- this.bits[var1] = 0;
- }
-
- }
-
- private void sizeTo(int var1) {
- if (this.bits.length < var1) {
- int[] var2 = new int[var1];
- System.arraycopy(this.bits, 0, var2, 0, this.bits.length);
- this.bits = var2;
- }
-
- }
-
- public Bits(int var1, int var2) {
- this();
-
- for(int var3 = var1; var3 < var2; ++var3) {
- this.incl(var3);
- }
-
- }
-
- public Bits(int[] var1) {
- this.bits = var1;
- }
-
- public Bits() {
- this(new int[1]);
- }
- }
-