Class JacobsonBalancedParentheses

    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static java.lang.String binary​(long l, boolean reverse)  
      it.unimi.dsi.bits.BitVector bitVector()
      Returns the bit vector indexed by this structure.
      static int countFarClose​(long word, int l)  
      static int countFarOpen​(long word, int l)  
      long enclose​(long pos)
      Returns the position of the open parenthesis of the pair the most tightly encloses the given position (optional operation).
      long findClose​(long pos)
      Returns the position of the matching closed parenthesis (optional operation).
      static int findFarClose​(long word, int k)  
      static int findFarClose2​(long word, int k)  
      static int findFarOpen​(long word, int l, int k)  
      static int findNearClose​(long word)  
      static int findNearClose2​(long word)  
      static int findNearCloseAlt​(long word)  
      long findOpen​(long pos)
      Returns the position of the matching open parenthesis (optional operation).
      long numBits()
      Returns the overall number of bits allocated by this structure.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • JacobsonBalancedParentheses

        public JacobsonBalancedParentheses​(it.unimi.dsi.bits.BitVector bv)
      • JacobsonBalancedParentheses

        public JacobsonBalancedParentheses​(long[] bits,
                                           long length)
      • JacobsonBalancedParentheses

        public JacobsonBalancedParentheses​(it.unimi.dsi.bits.BitVector bitVector,
                                           boolean findOpen,
                                           boolean findClose,
                                           boolean enclose)
    • Method Detail

      • binary

        public static java.lang.String binary​(long l,
                                              boolean reverse)
      • countFarOpen

        public static final int countFarOpen​(long word,
                                             int l)
      • findFarOpen

        public static final int findFarOpen​(long word,
                                            int l,
                                            int k)
      • countFarClose

        public static final int countFarClose​(long word,
                                              int l)
      • findFarClose2

        public static final int findFarClose2​(long word,
                                              int k)
      • findFarClose

        public static final int findFarClose​(long word,
                                             int k)
      • findNearClose2

        public static final int findNearClose2​(long word)
      • findNearClose

        public static final int findNearClose​(long word)
      • findNearCloseAlt

        public static final int findNearCloseAlt​(long word)
      • enclose

        public long enclose​(long pos)
        Description copied from interface: BalancedParentheses
        Returns the position of the open parenthesis of the pair the most tightly encloses the given position (optional operation).
        Specified by:
        enclose in interface BalancedParentheses
        Parameters:
        pos - a position in the bit vector.
        Returns:
        the position of the open parenthesis of the pair the most tightly encloses the given position.
      • findClose

        public long findClose​(long pos)
        Description copied from interface: BalancedParentheses
        Returns the position of the matching closed parenthesis (optional operation).

        Note that if you do not implement this method you must implement BalancedParentheses.findOpen(long).

        Specified by:
        findClose in interface BalancedParentheses
        Parameters:
        pos - a position in the bit vector containing an open parenthesis (a one).
        Returns:
        the position of the matching open parenthesis.
      • findOpen

        public long findOpen​(long pos)
        Description copied from interface: BalancedParentheses
        Returns the position of the matching open parenthesis (optional operation).

        Note that if you do not implement this method you must implement BalancedParentheses.findClose(long).

        Specified by:
        findOpen in interface BalancedParentheses
        Parameters:
        pos - a position in the bit vector containing a closed parenthesis (a zero).
        Returns:
        the position of the matching open parenthesis.
      • numBits

        public long numBits()
        Description copied from interface: BalancedParentheses
        Returns the overall number of bits allocated by this structure.
        Specified by:
        numBits in interface BalancedParentheses
        Returns:
        the overall number of bits allocated by this structure (not including the bits of the indexed vector).
      • bitVector

        public it.unimi.dsi.bits.BitVector bitVector()
        Description copied from interface: BalancedParentheses
        Returns the bit vector indexed by this structure.

        Note that you are not supposed to modify the returned vector.

        Specified by:
        bitVector in interface BalancedParentheses
        Returns:
        the bit vector indexed by this structure.