From fc661c9a017d89f54aa775c79eb93510a1a680e8 Mon Sep 17 00:00:00 2001 From: sjfink Date: Fri, 13 Apr 2007 19:34:57 +0000 Subject: [PATCH] format git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@954 f5eafffb-2e1d-0410-98e4-8ec43c5233c4 --- .../ibm/wala/util/intset/BitVectorBase.java | 26 ++-- .../ibm/wala/util/intset/OffsetBitVector.java | 130 +++++++++--------- 2 files changed, 76 insertions(+), 80 deletions(-) diff --git a/com.ibm.wala.core/src/com/ibm/wala/util/intset/BitVectorBase.java b/com.ibm.wala.core/src/com/ibm/wala/util/intset/BitVectorBase.java index 2029b3a2f..723ca253e 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/util/intset/BitVectorBase.java +++ b/com.ibm.wala.core/src/com/ibm/wala/util/intset/BitVectorBase.java @@ -14,17 +14,18 @@ import java.io.Serializable; /** * @author sfink - * @author Julian Dolby (dolby@us.ibm.com) + * @author Julian Dolby (dolby@us.ibm.com) */ -abstract public class BitVectorBase - implements Cloneable, Serializable -{ +abstract public class BitVectorBase implements Cloneable, Serializable { protected final static boolean DEBUG = false; protected final static int LOG_BITS_PER_UNIT = 5; + protected final static int BITS_PER_UNIT = 32; + protected final static int MASK = 0xffffffff; + protected final static int LOW_MASK = 0x1f; protected int bits[]; @@ -67,7 +68,6 @@ abstract public class BitVectorBase } } - /** * Gets the hashcode. */ @@ -153,16 +153,18 @@ abstract public class BitVectorBase { 0xFFFF0000 }, { 0xFF000000, 0x0000FF00 }, { 0xF0000000, 0x00F00000, 0x0000F000, 0x000000F0 }, - { 0xC0000000, 0x0C000000, 0x00C00000, 0x000C0000, 0x0000C000, 0x00000C00, 0x000000C0, 0x0000000C}, - { 0x80000000, 0x20000000, 0x08000000, 0x02000000, 0x00800000, 0x00200000, 0x00080000, 0x00020000, 0x00008000, 0x00002000, 0x00000800, 0x00000200, 0x00000080, 0x00000020, 0x00000008, 0x00000002 } - }; + { 0xC0000000, 0x0C000000, 0x00C00000, 0x000C0000, 0x0000C000, 0x00000C00, 0x000000C0, 0x0000000C }, + { 0x80000000, 0x20000000, 0x08000000, 0x02000000, 0x00800000, 0x00200000, 0x00080000, 0x00020000, 0x00008000, 0x00002000, + 0x00000800, 0x00000200, 0x00000080, 0x00000020, 0x00000008, 0x00000002 } }; public int max() { int lastWord = bits.length - 1; - while (lastWord >= 0 && bits[lastWord] == 0) lastWord--; + while (lastWord >= 0 && bits[lastWord] == 0) + lastWord--; - if (lastWord < 0) return -1; + if (lastWord < 0) + return -1; int count = lastWord * BITS_PER_UNIT; @@ -178,7 +180,7 @@ abstract public class BitVectorBase } } - return count + (31-j); + return count + (31 - j); } /** @@ -197,7 +199,7 @@ abstract public class BitVectorBase start++; } while (bit != 0); } else { - start += (BITS_PER_UNIT - (start&LOW_MASK)); + start += (BITS_PER_UNIT - (start & LOW_MASK)); } word++; diff --git a/com.ibm.wala.core/src/com/ibm/wala/util/intset/OffsetBitVector.java b/com.ibm.wala.core/src/com/ibm/wala/util/intset/OffsetBitVector.java index 1b8e45024..7870782fe 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/util/intset/OffsetBitVector.java +++ b/com.ibm.wala.core/src/com/ibm/wala/util/intset/OffsetBitVector.java @@ -14,17 +14,14 @@ import com.ibm.wala.util.debug.Assertions; /** * @author Julian Dolby (dolby@us.ibm.com) - * + * */ public final class OffsetBitVector extends BitVectorBase { int offset; private int wordDiff(int offset1, int offset2) { - return - (offset1>offset2)? - (offset1-offset2)>>LOG_BITS_PER_UNIT: - - ((offset2-offset1)>>LOG_BITS_PER_UNIT); + return (offset1 > offset2) ? (offset1 - offset2) >> LOG_BITS_PER_UNIT : -((offset2 - offset1) >> LOG_BITS_PER_UNIT); } /** @@ -36,7 +33,7 @@ public final class OffsetBitVector extends BitVectorBase { int[] oldbits = bits; bits = new int[subscript(newCapacity) + 1]; for (int i = 0; i < oldbits.length; i++) { - bits[i-wordDiff] = oldbits[i]; + bits[i - wordDiff] = oldbits[i]; } offset = newOffset; } @@ -45,17 +42,17 @@ public final class OffsetBitVector extends BitVectorBase { * @param set */ private void ensureCapacity(int newOffset, int newCapacity) { - if (newOffset < offset || newCapacity>(bits.length<< LOG_BITS_PER_UNIT)) { + if (newOffset < offset || newCapacity > (bits.length << LOG_BITS_PER_UNIT)) { expand(newOffset, newCapacity); } } -// private void ensureCapacity(OffsetBitVector set) { -// int newOffset = Math.min(offset, set.offset); -// int newCapacity = -// Math.max(length(),set.length())-newOffset; -// ensureCapacity(newOffset, newCapacity); -// } + // private void ensureCapacity(OffsetBitVector set) { + // int newOffset = Math.min(offset, set.offset); + // int newCapacity = + // Math.max(length(),set.length())-newOffset; + // ensureCapacity(newOffset, newCapacity); + // } public OffsetBitVector() { this(0, 1); @@ -68,7 +65,7 @@ public final class OffsetBitVector extends BitVectorBase { * the size of the string */ public OffsetBitVector(int offset, int nbits) { - offset = (offset&~LOW_MASK); + offset = (offset & ~LOW_MASK); this.offset = offset; this.bits = new int[subscript(nbits) + 1]; } @@ -90,7 +87,7 @@ public final class OffsetBitVector extends BitVectorBase { } void growCapacity(float fraction) { - expand(offset, (int) (fraction*(bits.length< { int shiftBits; int subscript; if (bit < offset) { - int newOffset = bit&~LOW_MASK; - expand(newOffset, length()-1-newOffset); + int newOffset = bit & ~LOW_MASK; + expand(newOffset, length() - 1 - newOffset); shiftBits = bit & LOW_MASK; subscript = 0; } else { - bit -= offset; + bit -= offset; shiftBits = bit & LOW_MASK; subscript = subscript(bit); if (subscript >= bits.length) { - expand(offset, bit); + expand(offset, bit); } } @@ -180,8 +177,8 @@ public final class OffsetBitVector extends BitVectorBase { * @return min j >= start s.t get(j) */ public int nextSetBit(int start) { - int nb = super.nextSetBit(Math.max(0, start-offset)); - return nb == -1? -1: offset + nb; + int nb = super.nextSetBit(Math.max(0, start - offset)); + return nb == -1 ? -1 : offset + nb; } /** @@ -189,7 +186,7 @@ public final class OffsetBitVector extends BitVectorBase { */ public final void not() { if (offset != 0) { - expand(0, offset+length()-1); + expand(0, offset + length() - 1); } for (int i = 0; i < bits.length; i++) { bits[i] ^= MASK; @@ -212,7 +209,7 @@ public final class OffsetBitVector extends BitVectorBase { * Sets all bits. */ public final void setAll() { - expand(0, length()-1); + expand(0, length() - 1); for (int i = 0; i < bits.length; i++) { bits[i] = MASK; } @@ -248,13 +245,13 @@ public final class OffsetBitVector extends BitVectorBase { } int wordDiff = wordDiff(offset, set.offset); - int maxWord = Math.min(bits.length, set.bits.length-wordDiff); + int maxWord = Math.min(bits.length, set.bits.length - wordDiff); int i = Math.max(0, -wordDiff); - for ( ; i < maxWord; i++) { - if ((bits[i] & set.bits[i+wordDiff]) != 0) { - return false; + for (; i < maxWord; i++) { + if ((bits[i] & set.bits[i + wordDiff]) != 0) { + return false; } } @@ -274,73 +271,72 @@ public final class OffsetBitVector extends BitVectorBase { } int wordDiff = wordDiff(offset, set.offset); - int maxWord = Math.min(bits.length, set.bits.length-wordDiff); + int maxWord = Math.min(bits.length, set.bits.length - wordDiff); int i = 0; if (wordDiff < 0) { - for ( ; i < -wordDiff; i++) { - if (bits[i] != 0) { - return false; - } + for (; i < -wordDiff; i++) { + if (bits[i] != 0) { + return false; + } } } else { - for(int j = 0; j < wordDiff; j++) { - if (set.bits[j] != 0) { - return false; - } + for (int j = 0; j < wordDiff; j++) { + if (set.bits[j] != 0) { + return false; + } } } - for ( ; i < maxWord; i++) { - if (bits[i] != set.bits[i+wordDiff]) { - return false; + for (; i < maxWord; i++) { + if (bits[i] != set.bits[i + wordDiff]) { + return false; } } - for(int j = maxWord+wordDiff; j < set.bits.length; j++) { + for (int j = maxWord + wordDiff; j < set.bits.length; j++) { if (set.bits[j] != 0) { - return false; + return false; } } - for ( ; i < bits.length; i++) { + for (; i < bits.length; i++) { if (bits[i] != 0) { - return false; - } + return false; + } } return true; } /* - * @param other - * @return true iff this is a subset of other + * @param other @return true iff this is a subset of other */ public boolean isSubset(OffsetBitVector other) { if (this == other) { // should help alias analysis return true; } int wordDiff = wordDiff(offset, other.offset); - int maxWord = Math.min(bits.length, other.bits.length-wordDiff); + int maxWord = Math.min(bits.length, other.bits.length - wordDiff); int i = 0; - for ( ; i < -wordDiff; i++) { + for (; i < -wordDiff; i++) { if (bits[i] != 0) { return false; } } - for ( ; i < maxWord; i++) { - if ((bits[i] & ~other.bits[i+wordDiff]) != 0) { + for (; i < maxWord; i++) { + if ((bits[i] & ~other.bits[i + wordDiff]) != 0) { return false; } } - for ( ; i < bits.length; i++) { + for (; i < bits.length; i++) { if (bits[i] != 0) { - return false; + return false; } } @@ -370,21 +366,21 @@ public final class OffsetBitVector extends BitVectorBase { } int wordDiff = wordDiff(offset, set.offset); - int maxWord = Math.min(bits.length, set.bits.length-wordDiff); + int maxWord = Math.min(bits.length, set.bits.length - wordDiff); int i = 0; - for ( ; i < -wordDiff; i++) { + for (; i < -wordDiff; i++) { bits[i] = 0; } - for ( ; i < maxWord; i++) { - bits[i] &= set.bits[i+wordDiff]; + for (; i < maxWord; i++) { + bits[i] &= set.bits[i + wordDiff]; } - for ( ; i < bits.length; i++) { + for (; i < bits.length; i++) { bits[i] = 0; - } + } } /** @@ -399,14 +395,13 @@ public final class OffsetBitVector extends BitVectorBase { } int newOffset = Math.min(offset, set.offset); - int newCapacity = - Math.max(length(),set.length())-newOffset; + int newCapacity = Math.max(length(), set.length()) - newOffset; ensureCapacity(newOffset, newCapacity); int wordDiff = wordDiff(newOffset, set.offset); for (int i = 0; i < set.bits.length; i++) { - bits[i-wordDiff] |= set.bits[i]; + bits[i - wordDiff] |= set.bits[i]; } } @@ -423,14 +418,13 @@ public final class OffsetBitVector extends BitVectorBase { } int newOffset = Math.min(offset, set.offset); - int newCapacity = - Math.max(length(),set.length())-newOffset; + int newCapacity = Math.max(length(), set.length()) - newOffset; ensureCapacity(newOffset, newCapacity); int wordDiff = wordDiff(newOffset, set.offset); for (int i = 0; i < set.bits.length; i++) { - bits[i-wordDiff] ^= set.bits[i]; + bits[i - wordDiff] ^= set.bits[i]; } } @@ -444,15 +438,15 @@ public final class OffsetBitVector extends BitVectorBase { } int wordDiff = wordDiff(offset, set.offset); - int maxWord = Math.min(bits.length, set.bits.length-wordDiff); + int maxWord = Math.min(bits.length, set.bits.length - wordDiff); int i = Math.max(0, -wordDiff); - for ( ; i < maxWord; i++) { - bits[i] &= ~set.bits[i+wordDiff]; + for (; i < maxWord; i++) { + bits[i] &= ~set.bits[i + wordDiff]; } } - + /** * Return the NOT of a bit string */