Class DoubleSummarySetOperations

    • Constructor Detail

      • DoubleSummarySetOperations

        public DoubleSummarySetOperations()
        Creates an instance with default mode of sum for both union and intersection. This exists for backward compatibility.
      • DoubleSummarySetOperations

        public DoubleSummarySetOperations​(DoubleSummary.Mode summaryMode)
        Creates an instance given a DoubleSummary update mode where the mode is the same for both union and intersection. This exists for backward compatibility.
        Parameters:
        summaryMode - DoubleSummary update mode.
      • DoubleSummarySetOperations

        public DoubleSummarySetOperations​(DoubleSummary.Mode unionSummaryMode,
                                          DoubleSummary.Mode intersectionSummaryMode)
        Creates an instance with two modes.
        Parameters:
        unionSummaryMode - for unions
        intersectionSummaryMode - for intersections
    • Method Detail

      • union

        public DoubleSummary union​(DoubleSummary a,
                                   DoubleSummary b)
        Description copied from interface: SummarySetOperations
        This is called by the union operator when both sketches have the same hash value.

        Caution: Do not modify the input Summary objects. Also do not return them directly, unless they are immutable (most Summary objects are not). For mutable Summary objects, it is important to create a new Summary object with the correct contents to be returned. Do not return null summaries.

        Specified by:
        union in interface SummarySetOperations<DoubleSummary>
        Parameters:
        a - Summary from sketch A
        b - Summary from sketch B
        Returns:
        union of Summary A and Summary B
      • intersection

        public DoubleSummary intersection​(DoubleSummary a,
                                          DoubleSummary b)
        Description copied from interface: SummarySetOperations
        This is called by the intersection operator when both sketches have the same hash value.

        Caution: Do not modify the input Summary objects. Also do not return them directly, unless they are immutable (most Summary objects are not). For mutable Summary objects, it is important to create a new Summary object with the correct contents to be returned. Do not return null summaries.

        Specified by:
        intersection in interface SummarySetOperations<DoubleSummary>
        Parameters:
        a - Summary from sketch A
        b - Summary from sketch B
        Returns:
        intersection of Summary A and Summary B