public class DoubleDynamicHistogram extends DoubleStaticHistogram
DoubleStaticHistogram.Iter
Modifier and Type | Field and Description |
---|---|
private double[] |
cachec
Cache for data to be inserted.
|
private int |
cachefill
Cache fill size
|
private double[] |
cachev
Cache for data to be inserted.
|
private int |
destsize
Destination (minimum) size of the structure.
|
data
base, binsize, max, offset, size
CACHE_SHIFT
Constructor and Description |
---|
DoubleDynamicHistogram(int bins)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
protected double |
downsample(double[] data,
int start,
int end,
int size)
Perform downsampling on a number of bins.
|
double |
get(double coord)
Get the value at a particular position.
|
double |
getBinsize()
Get the size (width) of a bin.
|
double |
getCoverMaximum()
Get maximum (covered by bins, not data!)
|
double |
getCoverMinimum()
Get minimum (covered by bins, not data!)
|
int |
getNumBins()
Get the number of bins actually in use.
|
void |
increment(double coord,
double value)
Put fresh data into the histogram (or into the cache)
|
DoubleStaticHistogram.Iter |
iter()
Get an iterator over all histogram bins.
|
(package private) void |
materialize()
Materialize the histogram from the cache.
|
private void |
testResample(double coord)
Test (and perform) downsampling when neede.
|
getBinNr, growSize
private double[] cachec
private double[] cachev
private int cachefill
private int destsize
public DoubleDynamicHistogram(int bins)
bins
- Design number of bins - may become twice as large!void materialize()
public double get(double coord)
DoubleStaticHistogram
get
in class DoubleStaticHistogram
coord
- Coordinatepublic void increment(double coord, double value)
increment
in interface DoubleHistogram
increment
in class DoubleStaticHistogram
coord
- Coordinatevalue
- Valueprivate void testResample(double coord)
coord
- coordinate to accomodate.public DoubleStaticHistogram.Iter iter()
AbstractStaticHistogram
iter
in interface DoubleHistogram
iter
in interface Histogram
iter
in class DoubleStaticHistogram
public int getNumBins()
AbstractStaticHistogram
getNumBins
in interface Histogram
getNumBins
in class AbstractStaticHistogram
public double getBinsize()
AbstractStaticHistogram
getBinsize
in interface Histogram
getBinsize
in class AbstractStaticHistogram
public double getCoverMinimum()
AbstractStaticHistogram
getCoverMinimum
in interface Histogram
getCoverMinimum
in class AbstractStaticHistogram
public double getCoverMaximum()
AbstractStaticHistogram
getCoverMaximum
in interface Histogram
getCoverMaximum
in class AbstractStaticHistogram
protected double downsample(double[] data, int start, int end, int size)
data
- Data array (needs cast!)start
- Interval startend
- Interval end (exclusive)size
- Intended size - extra bins are assumed to be empty, should be a
power of two