Class GroupTree

  • All Implemented Interfaces:
    Iterable<Centroid>

    public class GroupTree
    extends Object
    implements Iterable<Centroid>
    A tree containing TDigest.Centroid. This adds to the normal NavigableSet the ability to sum up the size of elements to the left of a particular group.
    • Constructor Detail

      • GroupTree

        public GroupTree()
      • GroupTree

        public GroupTree​(Centroid leaf)
    • Method Detail

      • add

        public void add​(Centroid centroid)
      • move

        public void move​(double x,
                         int count,
                         Centroid v,
                         Iterable<? extends Double> data)
        Modify an existing value in the tree subject to the constraint that the change will not alter the ordering of the tree.
        Parameters:
        x - New value to add to Centroid
        count - Weight of new value
        v - The value to modify
        data - The recorded data
      • size

        public int size()
      • headCount

        public int headCount​(Centroid base)
        Returns:
        the number of items strictly before the current element
      • headSum

        public long headSum​(Centroid base)
        Returns:
        the sum of the size() function for all elements strictly before the current element.
      • first

        public Centroid first()
        Returns:
        the first Centroid in this set
      • remove

        public void remove​(Centroid base)
      • floor

        public Centroid floor​(Centroid base)
        Returns:
        the largest element less than or equal to base
      • ceiling

        public Centroid ceiling​(Centroid base)
        Returns:
        the smallest element greater than or equal to base.
      • tailSet

        public Iterable<Centroid> tailSet​(Centroid start)
        Returns:
        the subset of elements equal to or greater than base.
      • sum

        public long sum()
      • checkBalance

        public void checkBalance()
      • print

        public void print​(int depth)