Interface BitIn

    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String USUAL_EXTENSION
      file extension
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void align()
      Aligns the stream to the next byte
      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 interface java.io.Closeable

        close
    • Field Detail

      • USUAL_EXTENSION

        static final java.lang.String USUAL_EXTENSION
        file extension
        See Also:
        Constant Field Values
    • Method Detail

      • getByteOffset

        long getByteOffset()
        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
        Returns:
        the byte offset in the stream.
      • getBitOffset

        byte getBitOffset()
        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.
        Returns:
        the bit offset in the stream.
      • readUnary

        int readUnary()
               throws java.io.IOException
        Reads a unary encoded integer from the underlying stream
        Returns:
        the number read
        Throws:
        java.io.IOException - if an I/O error occurs
      • readGamma

        int readGamma()
               throws java.io.IOException
        Reads a gamma encoded integer from the underlying stream
        Returns:
        the number read
        Throws:
        java.io.IOException - if an I/O error occurs
      • readBinary

        int readBinary​(int len)
                throws java.io.IOException
        Reads a binary integer from the already read buffer.
        Parameters:
        len - the number of binary bits to read
        Returns:
        the decoded integer
        Throws:
        java.io.IOException - if an I/O error occurs
      • readMinimalBinary

        int readMinimalBinary​(int b)
                       throws java.io.IOException
        Reads a binary encoded integer, given an upper bound
        Parameters:
        b - the upper bound
        Returns:
        the int read
        Throws:
        java.io.IOException - if an I/O error occurs
      • readMinimalBinaryZero

        int readMinimalBinaryZero​(int b)
                           throws java.io.IOException
        Reads a minimal binary encoded number, when the upper bound can b zero. Used to interpolative code
        Parameters:
        b - the upper bound
        Returns:
        the int read
        Throws:
        java.io.IOException - if an I/O error occurs
      • readGolomb

        int readGolomb​(int b)
                throws java.io.IOException
        Reads a Golomb encoded integer
        Parameters:
        b - the golomb modulus
        Returns:
        the int read
        Throws:
        java.io.IOException - if and I/O error occurs
      • readSkewedGolomb

        int readSkewedGolomb​(int b)
                      throws java.io.IOException
        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
        Returns:
        the number read
        Throws:
        java.io.IOException - if an I/O error occurs
      • readDelta

        int readDelta()
               throws java.io.IOException
        Reads a delta encoded integer from the underlying stream
        Returns:
        the number read
        Throws:
        java.io.IOException - if an I/O error occurs
      • readInterpolativeCoding

        void readInterpolativeCoding​(int[] data,
                                     int offset,
                                     int len,
                                     int lo,
                                     int hi)
                              throws java.io.IOException
        Reads a sequence of numbers from the stream interpolative coded.
        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
      • skipBits

        void skipBits​(int len)
               throws java.io.IOException
        Skip a number of bits while reading the bit file.
        Parameters:
        len - The number of bits to skip
        Throws:
        java.io.IOException - if an I/O error occurs
      • skipBytes

        void skipBytes​(long len)
                throws java.io.IOException
        Skip a number of bytes while reading the bit file. After this opteration, getBitOffset() == 0, so use skipBits(int) to get getBitOffset() to desired value.
        Parameters:
        len - The number of bytes to skip
        Throws:
        java.io.IOException - if an I/O error occurs
      • align

        void align()
            throws java.io.IOException
        Aligns the stream to the next byte
        Throws:
        java.io.IOException - if an I/O error occurs