Interface IBitFingerprint

All Superinterfaces:
Serializable
All Known Implementing Classes:
BitSetFingerprint, IntArrayFingerprint

public interface IBitFingerprint extends Serializable
Interface for bit fingerprint representations.
Author:
jonalv
Source code:
main
Belongs to CDK module:
core
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    and(IBitFingerprint fingerprint)
    Performs a logical AND of the bits in this target bit set with the bits in the argument fingerprint.
    Returns a BitSet representation of the fingerprint.
    int
    Returns the number of bits set to true in the fingerprint.
    boolean
    get(int index)
    Returns the value of the bit with the specified index.
    int[]
    Returns a listing of the bits in the fingerprint that are set to true.
    void
    or(IBitFingerprint fingerprint)
    Performs a logical OR of the bits in this target bit set with the bits in the argument fingerprint.
    void
    set(int i)
    Sets the bit at the specified index to true.
    void
    set(int index, boolean value)
    Sets the bit at the specified index to the specified value.
    long
    Returns the size of the fingerprint, i.e., the number of hash bins.
  • Method Details

    • cardinality

      int cardinality()
      Returns the number of bits set to true in the fingerprint.
      Returns:
      the number of true bits.
    • size

      long size()
      Returns the size of the fingerprint, i.e., the number of hash bins.
      Returns:
      the size of the fingerprint.
    • and

      void and(IBitFingerprint fingerprint)
      Performs a logical AND of the bits in this target bit set with the bits in the argument fingerprint. This fingerprint is modified so that each bit in it has the value true if and only if it both initially had the value true and the corresponding bit in the fingerprint argument also had the value true.
      Parameters:
      fingerprint - the fingerprint with which to perform the AND operation
      Throws:
      IllegalArgumentException - if the two fingerprints are not of same size
    • or

      void or(IBitFingerprint fingerprint)
      Performs a logical OR of the bits in this target bit set with the bits in the argument fingerprint. This operation can also be seen as merging two fingerprints. This fingerprint is modified so that each bit in it has the value true if and only if it either already had the value true or the corresponding bit in the bit set argument has the value true.
      Parameters:
      fingerprint - the fingerprint with which to perform the OR operation
      Throws:
      IllegalArgumentException - if the two fingerprints are not of same size
    • get

      boolean get(int index)
      Returns the value of the bit with the specified index. The value is true if the bit with the index index is currently set in this fingerprint; otherwise, the result is false.
      Parameters:
      index - the index of the bit to return the value for
      Returns:
      the value of the bit at index
    • set

      void set(int index, boolean value)
      Sets the bit at the specified index to the specified value.
      Parameters:
      index - the index of the bit to change
      value - the new value for the bit at position index
    • asBitSet

      BitSet asBitSet()
      Returns a BitSet representation of the fingerprint. This might take significantly more memory!
      Returns:
      the fingerprint as a BitSet
    • set

      void set(int i)
      Sets the bit at the specified index to true.
      Parameters:
      i - index
    • getSetbits

      int[] getSetbits()
      Returns a listing of the bits in the fingerprint that are set to true.
      Returns:
      listing of all bits that are set