org.terrier.compression
Class DebuggingBitIn

java.lang.Object
  extended by org.terrier.compression.DebuggingBitIn
All Implemented Interfaces:
java.io.Closeable, BitIn

public class DebuggingBitIn
extends java.lang.Object
implements BitIn, java.io.Closeable

This class provides debugging at the bit stream level. All read*() and skip*() methods log verbosely for each request.

Since:
3.5
Author:
Craig Macdonald
See Also:
BitIn

Field Summary
 
Fields inherited from interface org.terrier.compression.BitIn
USUAL_EXTENSION
 
Constructor Summary
DebuggingBitIn(BitIn _in)
          Wraps a BitIn implementation with logging calls
 
Method Summary
 void align()
          Aligns the stream to the next byte
 void close()
           
 byte getBitOffset()
          Returns the bit offset in the last byte.
 long getByteOffset()
          Returns the byte offset of the stream.
 int readBinary(int len)
          Reads a binary integer from the already read buffer.
 int readDelta()
          Reads a delta encoded integer from the underlying stream
 int readGamma()
          Reads a gamma encoded integer from the underlying stream
 int readGolomb(int b)
          Reads a Golomb encoded integer
 void readInterpolativeCoding(int[] data, int offset, int len, int lo, int hi)
          Reads a sequence of numbers from the stream interpolative coded.
 int readMinimalBinary(int b)
          Reads a binary encoded integer, given an upper bound
 int readMinimalBinaryZero(int b)
          Reads a minimal binary encoded number, when the upper bound can b zero.
 int readSkewedGolomb(int b)
          Reads a skewed-golomb encoded integer from the underlying stream Consider a bucket-vector v = <0, 2b, 4b, ...
 int readUnary()
          Reads a unary encoded integer from the underlying stream
 void skipBits(int len)
          Skip a number of bits while reading the bit file.
 void skipBytes(long len)
          Skip a number of bytes while reading the bit file.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DebuggingBitIn

public DebuggingBitIn(BitIn _in)
Wraps a BitIn implementation with logging calls

Method Detail

align

public void align()
           throws java.io.IOException
Description copied from interface: BitIn
Aligns the stream to the next byte

Specified by:
align in interface BitIn
Throws:
java.io.IOException - if an I/O error occurs

getBitOffset

public byte getBitOffset()
Description copied from interface: BitIn
Returns the bit offset in the last byte. It corresponds to the position in which the next bit will be written. Use only when writting.

Specified by:
getBitOffset in interface BitIn
Returns:
the bit offset in the stream.

getByteOffset

public long getByteOffset()
Description copied from interface: BitIn
Returns the byte offset of the stream. It corresponds to the position of the byte in which the next bit will be written. Use only when writting

Specified by:
getByteOffset in interface BitIn
Returns:
the byte offset in the stream.

readBinary

public int readBinary(int len)
               throws java.io.IOException
Description copied from interface: BitIn
Reads a binary integer from the already read buffer.

Specified by:
readBinary in interface BitIn
Parameters:
len - the number of binary bits to read
Returns:
the decoded integer
Throws:
java.io.IOException - if an I/O error occurs

readDelta

public int readDelta()
              throws java.io.IOException
Description copied from interface: BitIn
Reads a delta encoded integer from the underlying stream

Specified by:
readDelta in interface BitIn
Returns:
the number read
Throws:
java.io.IOException - if an I/O error occurs

readGamma

public int readGamma()
              throws java.io.IOException
Description copied from interface: BitIn
Reads a gamma encoded integer from the underlying stream

Specified by:
readGamma in interface BitIn
Returns:
the number read
Throws:
java.io.IOException - if an I/O error occurs

readGolomb

public int readGolomb(int b)
               throws java.io.IOException
Description copied from interface: BitIn
Reads a Golomb encoded integer

Specified by:
readGolomb in interface BitIn
Parameters:
b - the golomb modulus
Returns:
the int read
Throws:
java.io.IOException - if and I/O error occurs

readInterpolativeCoding

public void readInterpolativeCoding(int[] data,
                                    int offset,
                                    int len,
                                    int lo,
                                    int hi)
                             throws java.io.IOException
Description copied from interface: BitIn
Reads a sequence of numbers from the stream interpolative coded.

Specified by:
readInterpolativeCoding in interface BitIn
Parameters:
data - the result vector
offset - offset where to write in the vector
len - the number of integers to decode.
lo - a lower bound (the same one passed to writeInterpolativeCoding)
hi - an upper bound (the same one passed to writeInterpolativeCoding)
Throws:
java.io.IOException - if an I/O error occurs

readMinimalBinary

public int readMinimalBinary(int b)
                      throws java.io.IOException
Description copied from interface: BitIn
Reads a binary encoded integer, given an upper bound

Specified by:
readMinimalBinary in interface BitIn
Parameters:
b - the upper bound
Returns:
the int read
Throws:
java.io.IOException - if an I/O error occurs

readMinimalBinaryZero

public int readMinimalBinaryZero(int b)
                          throws java.io.IOException
Description copied from interface: BitIn
Reads a minimal binary encoded number, when the upper bound can b zero. Used to interpolative code

Specified by:
readMinimalBinaryZero in interface BitIn
Parameters:
b - the upper bound
Returns:
the int read
Throws:
java.io.IOException - if an I/O error occurs

readSkewedGolomb

public int readSkewedGolomb(int b)
                     throws java.io.IOException
Description copied from interface: BitIn
Reads a skewed-golomb encoded integer from the underlying stream Consider a bucket-vector v = <0, 2b, 4b, ... , 2^i b, ...> The sum of the elements in the vector goes b, 3b, 7b, 2^(i-1)*b

Specified by:
readSkewedGolomb in interface BitIn
Returns:
the number read
Throws:
java.io.IOException - if an I/O error occurs

readUnary

public int readUnary()
              throws java.io.IOException
Description copied from interface: BitIn
Reads a unary encoded integer from the underlying stream

Specified by:
readUnary in interface BitIn
Returns:
the number read
Throws:
java.io.IOException - if an I/O error occurs

skipBits

public void skipBits(int len)
              throws java.io.IOException
Description copied from interface: BitIn
Skip a number of bits while reading the bit file.

Specified by:
skipBits in interface BitIn
Parameters:
len - The number of bits to skip
Throws:
java.io.IOException - if an I/O error occurs

skipBytes

public void skipBytes(long len)
               throws java.io.IOException
Description copied from interface: BitIn
Skip a number of bytes while reading the bit file. After this opteration, getBitOffset() == 0, so use skipBits to get getBitOffset() to desired value.

Specified by:
skipBytes in interface BitIn
Parameters:
len - The number of bytes to skip
Throws:
java.io.IOException - if an I/O error occurs

close

public void close()
           throws java.io.IOException
Specified by:
close in interface java.io.Closeable
Throws:
java.io.IOException


Terrier 3.5. Copyright © 2004-2011 University of Glasgow