readd a couple of members not in tests

git-svn-id: https://zxing.googlecode.com/svn/trunk@2607 59b500cc-1b3d-0410-9834-0bbf25fbcc57
This commit is contained in:
smparkes@smparkes.net 2013-04-01 06:00:21 +00:00
parent 913f87b1ce
commit b323e601b7

View file

@ -120,7 +120,6 @@ void BitArray::reverse() {
bits = newBits; bits = newBits;
} }
/*
BitArray::Reverse::Reverse(Ref<BitArray> array_) : array(array_) { BitArray::Reverse::Reverse(Ref<BitArray> array_) : array(array_) {
array->reverse(); array->reverse();
} }
@ -130,6 +129,7 @@ void BitArray::reverse() {
} }
namespace { namespace {
// N.B.: This only works for 32 bit ints ...
int numberOfTrailingZeros(int i) { int numberOfTrailingZeros(int i) {
// HD, Figure 5-14 // HD, Figure 5-14
int y; int y;
@ -144,38 +144,37 @@ void BitArray::reverse() {
} }
int BitArray::getNextSet(int from) { int BitArray::getNextSet(int from) {
if (from >= size_) { if (from >= size) {
return size_; return size;
} }
int bitsOffset = from >> 5; int bitsOffset = from >> logBits;
int currentBits = bits_[bitsOffset]; int currentBits = bits[bitsOffset];
// mask off lesser bits first // mask off lesser bits first
currentBits &= ~((1 << (from & 0x1F)) - 1); currentBits &= ~((1 << (from & bitsMask)) - 1);
while (currentBits == 0) { while (currentBits == 0) {
if (++bitsOffset == (int)bits_.size()) { if (++bitsOffset == (int)bits.size()) {
return size_; return size;
} }
currentBits = bits_[bitsOffset]; currentBits = bits[bitsOffset];
} }
int result = (bitsOffset << 5) + numberOfTrailingZeros(currentBits); int result = (bitsOffset << logBits) + numberOfTrailingZeros(currentBits);
return result > size_ ? size_ : result; return result > size ? size : result;
} }
int BitArray::getNextUnset(int from) { int BitArray::getNextUnset(int from) {
if (from >= size_) { if (from >= size) {
return size_; return size;
} }
int bitsOffset = from >> 5; int bitsOffset = from >> logBits;
int currentBits = ~bits_[bitsOffset]; int currentBits = ~bits[bitsOffset];
// mask off lesser bits first // mask off lesser bits first
currentBits &= ~((1 << (from & 0x1F)) - 1); currentBits &= ~((1 << (from & bitsMask)) - 1);
while (currentBits == 0) { while (currentBits == 0) {
if (++bitsOffset == (int)bits_.size()) { if (++bitsOffset == (int)bits.size()) {
return size_; return size;
} }
currentBits = ~bits_[bitsOffset]; currentBits = ~bits[bitsOffset];
} }
int result = (bitsOffset << 5) + numberOfTrailingZeros(currentBits); int result = (bitsOffset << logBits) + numberOfTrailingZeros(currentBits);
return result > size_ ? size_ : result; return result > size ? size : result;
} }
*/