úÎ9¨4>\      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[None,<=DT is a tree of centroids. compression is a 1/´. The greater the value of  compression, the less likely value merging will happen. Tree node Empty tree Total count of samples.+totalWeight (tdigest [1..100] :: TDigest 5)100.0 OCenter of left-most centroid. Note: may be different than min element inserted.,minimumValue (tdigest [1..100] :: TDigest 3)1.0 PCenter of right-most centroid. Note: may be different than max element inserted.,maximumValue (tdigest [1..100] :: TDigest 3)99.03Constructor which calculates size and total weight.Balance after right insertion.Balance after left insertion. Alias to Create singular node. Add two weighted means together.9Calculate the threshold, i.e. maximum weight of centroid. Compress .kReinsert the centroids in "better" order (in original paper: in random) so they have opportunity to merge.;Compression will happen only if size is both: bigger than  * comp and bigger than .BPerform compression, even if current size says it's not necessary..Relative size parameter. Hard-coded value: 25.0Absolute size parameter. Hard-coded value: 1000. Output the  tree. \ .   Check various invariants in the  tree.$Insert single value into .%$Insert single value, don't compress  even if needed.2For sensibly bounded input, it makes sense to let I grow (it might grow linearly in size), and after that compress it once.&Make a  of a single data point.'Strict ] over ^ structure.(G isn't compressed after de-serialisation, but it can be still smaller.) has only strict fields.+Both _ and ` are $-  total weightquantilecompression (1/´)t-Digest@return also a "space left in the centroid" value for "shuffling" !"#$element%element&'()*+,(  !"#$%&'-,+*)(  !"#$%&'+  !"#$%&'()*+,None. Histogram bin0 lower bound1 upper bound2original value:  (mi + ma) / 23weight ("area" of the bar)4weight from the right5!Calculate histogram based on the .6Histogram from centroids7 Median, i.e. 8 0.5.8'Calculate quantile of a specific value.9Quantile from the histogram.: Alias of 8.;Mean.%mean (tdigest [1..100] :: TDigest 10) Just 50.5Note:2 if you only need the mean, calculate it directly.<Mean from the histogram.= Variance.>Variance from the histogram.?!Cumulative distribution function.Note:Q if this is the only thing you need, it's more efficient to count this directly.@Validate that list of . is a valid "histogram".abcd./0123456789:;<e=>f?@AB./0123456789:;<=>?@5./0123478;<=>?:69@abcd./0123456789:;<e=>f?@ABNoneTD,Standard deviation, square root of variance.5stddev (tdigest $ fairshuffle [0..100] :: TDigest 10) Just 29.1...D  $%&'./01234578:;=?@D'&$% 5./0123478;=D?: @DNone,<=DTT Alias of P.EghiFGHIJKLMNOPQRSTUVWXYZ[./01234EFGHIJKLMNOPQRSTUVEVFGHIJMKLN./01234OPQRSUTEghiFGHIJKLMNOPQRSTUVWXYZ[j      !"#$%&'()*+,-./01233456789:;<=>?@ABCDEFGH+)*9;<?AH>C,-012.IJKILMILNOPQOPRSST UVWXY"tdigest-0.1-AeN8Hf0SPJyLbAtg6H3ANQData.TDigest.InternalData.TDigest.Postprocess Data.TDigestData.TDigest.NonEmptyTDigestNodeNilSizeCentroidWeightMeanassert getCentroids totalWeightsize minimumValue maximumValue emptyTDigest combineDigestinsertCentroidnodebalanceRbalanceLnode'singNodecombinedCentroid thresholdcompress forceCompress toMVector relMaxSize absMaxSizebalOmegabalAlpha debugPrintvalidvalidateeqnegInfposInfinsertinsert' singletontdigest$fBinaryTDigest$fNFDataTDigest$fMonoidTDigest$fReducerDoubleTDigest$fSemigroupTDigest $fShowTDigestHistBinhbMinhbMaxhbValuehbWeight hbCumWeight histogram histogram'medianquantile quantile'icdfmeanmean'variance variance'cdfvalidateHistogram$fSemigroupVariance$fSemigroupMean' $fShowHistBinstddevbase Data.EitherisRight Data.Foldablefoldl'Foldable&reducers-3.12.1-BxtUharzyhUHHszNNPz3aMData.Semigroup.ReducerconssnocVarianceMean'getMean getVarianceunEmpty overTDigest