Package uk.ac.starlink.ttools.filter
Interface Quantiler
- All Known Implementing Classes:
GKQuantiler
,SortQuantiler
public interface Quantiler
Calculates quantile values given a sequence of data samples.
Data must be submitted before quantiles are calculated. The sequence is as follows:
- Make zero or more calls to
acceptDatum(double)
andaddQuantiler(uk.ac.starlink.ttools.filter.Quantiler)
- Make one or more calls to
ready()
- Make zero or more calls to
getValueAtQuantile(double)
- Since:
- 3 Dec 2020
- Author:
- Mark Taylor
-
Method Summary
Modifier and TypeMethodDescriptionvoid
acceptDatum
(double value) Accepts a value to accumulate for quantile calculations.void
addQuantiler
(Quantiler other) Merges the state of another compatible accumulator into this one; the effect is as if all theacceptDatum(double)
calls that were made onother
had been made on this one.double
getValueAtQuantile
(double quantile) Returns the value at a given quantile.void
ready()
Call after all data has been accumulated and before quantiles are to be calculated.
-
Method Details
-
acceptDatum
void acceptDatum(double value) Accepts a value to accumulate for quantile calculations. NaN values are ignored.- Parameters:
value
- value to accumulate
-
addQuantiler
Merges the state of another compatible accumulator into this one; the effect is as if all theacceptDatum(double)
calls that were made onother
had been made on this one.- Parameters:
other
- compatible quantiler to merge with this
-
ready
void ready()Call after all data has been accumulated and before quantiles are to be calculated. -
getValueAtQuantile
double getValueAtQuantile(double quantile) Returns the value at a given quantile.- Parameters:
quantile
- value in the range 0..1- Returns:
- value at quantile, or NaN if no data
-