Class SparseBitSet.EqualsStrategy

  • Enclosing class:
    SparseBitSet

    protected static class SparseBitSet.EqualsStrategy
    extends SparseBitSet.AbstractStrategy
    Equals compares bits in the a set with those in the b set. None of the values in either set are changed, although the a set may have all zero level 3 blocks replaced by null references (and similarly at level 2).
     equals| 0 1
          0| 0 -
          1| - - 
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected EqualsStrategy()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected boolean block​(int base, int u3, int v3, long[] a3, long[] b3)
      Deals with a part of a block that consists of whole words, starting with the given first index, and ending with the word before the last index.
      protected int properties()
      Properties of this strategy.
      protected boolean start​(SparseBitSet b)
      Instances of this class are to be serially reusable.
      protected boolean word​(int base, int u3, long[] a3, long[] b3, long mask)
      Deal with a scan that include a partial word within a level3 block.
      • Methods inherited from class java.lang.Object

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

      • result

        boolean result
    • Constructor Detail

      • EqualsStrategy

        protected EqualsStrategy()
    • Method Detail

      • start

        protected boolean start​(SparseBitSet b)
        Description copied from class: SparseBitSet.AbstractStrategy
        Instances of this class are to be serially reusable. To start a particular use, an instance is (re-)started by calling this method. It is passed the reference to the other bit set (usually to allow a check on whether it is null or not, so as to simplify the implementation of the block() method.
        Specified by:
        start in class SparseBitSet.AbstractStrategy
        Parameters:
        b - the "other" set, for whatever checking is needed.
        Returns:
        true -> if the cache should be set to zero
      • word

        protected boolean word​(int base,
                               int u3,
                               long[] a3,
                               long[] b3,
                               long mask)
        Description copied from class: SparseBitSet.AbstractStrategy
        Deal with a scan that include a partial word within a level3 block. All that is required is that the result be stored (if needed) into the given a set block at the correct position, and that the operation only affect those bits selected by 1 bits in the mask.
        Specified by:
        word in class SparseBitSet.AbstractStrategy
        Parameters:
        base - the base index of the block (to be used if needed)
        u3 - the index of the word within block
        a3 - the level3 block from the a set.
        b3 - the (nominal) level3 block from the b set (not null).
        mask - for the (partial) word
        Returns:
        true if the resulting word is zero
      • block

        protected boolean block​(int base,
                                int u3,
                                int v3,
                                long[] a3,
                                long[] b3)
        Description copied from class: SparseBitSet.AbstractStrategy
        Deals with a part of a block that consists of whole words, starting with the given first index, and ending with the word before the last index. For the words processed, the return value should indicate whether all those resulting words were zero, or not.
        Specified by:
        block in class SparseBitSet.AbstractStrategy
        Parameters:
        base - the base index of the block (to be used if needed)
        u3 - the index of the first word within block to process
        v3 - the index of the last word, which may be within block
        a3 - the level3 block from the a set.
        b3 - the (nominal) level3 block from the b set (not null).
        Returns:
        true if the words scanned within the level3 block were all zero