This package contains two families of histograms. Static histograms have a fixed initial number of bins. When encountering values outside of their range, they will grow similar to an ArrayList by adding additional bins.
"Dynamic" histograms are more useful when you do not know the value range of the data: they start by collecting a number of sample data, then use this to estimate the initial histogram range. If they grow to twice their initial size they will downsample, to keep the histogram size in the bounds n to 2n-1, which effectively limits the memory use and histogram complexity.
Interface Summary Interface Description HistogramAbstract API for histograms. Histogram.IterArray iterator. ObjHistogram.BucketFactory<T>Function to make new buckets.
Class Summary Class Description AbstractObjDynamicHistogram<T>A dynamic histogram can dynamically adapt the number of bins to the data fed into the histogram. AbstractStaticHistogramAbstract base class for histograms. DoubleDynamicHistogramA flexible histogram storing double, that can dynamically adapt the number of bins to the data fed into the histogram. DoubleHistogramHistogram class storing double values. ObjHistogram<T>Histogram class storing double values.