Îõ³h&#Œ [œ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›  Safe-Inferred¾ Safe-Inferred)*ÁÃÄÅǃtdigest4Affine containers, i.e. containing at most 1 elementThis class doesn't have œ% analogie as it would require using Pointed which is disputed type class. 8traverseAff :: Pointed f => (a -> f b) -> t a -> f (t b) tdigestLike  tdigest*Types from which we can extract histogram.tdigest Histogram bintdigest lower boundtdigest upper boundtdigestoriginal value:  (mi + ma) / 2tdigestweight ("area" of the bar)tdigest(weight from the right, excludes this bintdigestHistogram from centroidstdigestQuantile from the histogram.tdigestMean from the histogram.tdigestVariance from the histogram.tdigest!Cumulative distribution function.tdigestValidate that list of  is a valid "histogram".tdigestComposition of  containers is tdigest total weight    Safe-InferredÁ$tdigest Median, i.e. % 0.5.%tdigest'Calculate quantile of a specific value.&tdigestMean./mean (Tree.tdigest [1..100] :: Tree.TDigest 10) Just 50.5Note:2 if you only need the mean, calculate it directly.'tdigest Variance.(tdigest,Standard deviation, square root of variance.)tdigest!Cumulative distribution function.Note:Ñ if this is the only thing you need, it's more efficient to count this directly.*tdigest An alias for %. $%&'()* $%&'()*  Safe-Inferred1ÄÅÌÜ+tdigest+ is a tree of centroids. compression is a 1/´. The greater the value of  compression, the less likely value merging will happen.,tdigest Tree node-tdigest Empty tree/tdigestTotal count of samples.+totalWeight (tdigest [1..100] :: TDigest 5)100.01tdigestÏCenter of left-most centroid. Note: may be different than min element inserted.,minimumValue (tdigest [1..100] :: TDigest 3)1.02tdigestÐCenter of right-most centroid. Note: may be different than max element inserted.,maximumValue (tdigest [1..100] :: TDigest 3)99.06tdigest3Constructor which calculates size and total weight.7tdigestBalance after right insertion.8tdigestBalance after left insertion.9tdigest Alias to ,:tdigestCreate singular node.;tdigest Add two weighted means together.<tdigest9Calculate the threshold, i.e. maximum weight of centroid.=tdigest Compress +.ëReinsert 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 A.>tdigestÂPerform compression, even if current size says it's not necessary.@tdigest.Relative size parameter. Hard-coded value: 25.Atdigest0Absolute size parameter. Hard-coded value: 1000.Dtdigest Output the + tree.Etdigest ž . FFtdigest Check various invariants in the + tree.GtdigestInsert single value into +.Htdigest$Insert single value, don't compress + even if needed.2For sensibly bounded input, it makes sense to let +É grow (it might grow linearly in size), and after that compress it once.ItdigestMake a + of a single data point.JtdigestStrict Ÿ over   structure.Ltdigest+Ç isn't compressed after de-serialisation, but it can be still smaller.Mtdigest+ has only strict fields.OtdigestBoth ¡ and ¢ are G<tdigest total weighttdigestquantiletdigestcompression (1/´)?tdigestt-DigesttdigestÀreturn also a "space left in the centroid" value for "shuffling"GtdigestelementHtdigestelement +,-./0123456789:;<=>?@ABCDEFGHIJ +,-./0123456789:;<=>?@ABCDEFGHIJ Safe-Inferred1ÄÅÌÜ`tdigest Alias of \.RSTUVWXYZ[\]^_`abcdefRbSTUVWZXY[\]^_a`cdef  Safe-InferredàRSTUVWXYZ[\]^_`abcdef Safe-Inferredÿmtdigest Median, i.e. n 0.5.ntdigest'Calculate quantile of a specific value.otdigestMean.%mean (tdigest [1..100] :: TDigest 10) Just 50.5Note:2 if you only need the mean, calculate it directly.ptdigest Variance.qtdigest,Standard deviation, square root of variance.rtdigest!Cumulative distribution function.Note:Ñ if this is the only thing you need, it's more efficient to count this directly.stdigest An alias for nmnopqrsmnopqrs  Safe-InferredÜ6+012=>DEFGHIJmnopqrs+JIGH=>12mnopqrs0EFD  Safe-Inferred„+012=>DEFGHIJmnopqrs Safe-Inferred1ÄÅÌÜAttdigestt7 is a vector of centroids plus not yet merged elements.%The size of structure is dictated by  compression, *ÿ­*. And is *O(ÿ­)*.vtdigestsum of vector and buffer sizewtdigest?actual data. *Invariants:* sorted by mean; length <= 2 ÿ­ (soft)ytdigestÄaddition buffer, elements with weight 1. *Invariants:* length 2 <= ÿ­ztdigestÄdirection is a hack, so we merge from left and right. *TODO* remove?{tdigestSize of structure}tdigestÏCenter of left-most centroid. Note: may be different than min element inserted.,minimumValue (tdigest [1..100] :: TDigest 3)1.0~tdigestÐCenter of right-most centroid. Note: may be different than max element inserted.,maximumValue (tdigest [1..100] :: TDigest 3)100.0tdigestÏMapping from quantile *q* to notional index *k* with compression parameter *ÿ­*. ksize 42 00.0 ksize 42 142.0q@ is clamped.: ksize 42 242.0tdigest Inverse of . ksizeInv 42 00.0ksizeInv 42 421.0ksizeInv 42 (ksize 42 0.3)0.3…tdigestFlush insertion buffer‰tdigest ž . ŠŠtdigest Check various invariants in the t structure.‹tdigestInsert single value into t.Œtdigest$Insert single value, don't compress t even if needed.5This may violate the insertion buffer size invariant.2For sensibly bounded input, it makes sense to let tÉ grow (it might grow linearly in size), and after that compress it once.tdigestMake a t of a single data point.ŽtdigestStrict Ÿ over   structure.‘tdigestBoth ¡ and ¢ are ‹tdigestcompression parameter, ÿ­tdigest quantile, qtdigestnotional index, ktdigestcompression parameter, ÿ­tdigestnotional index, ktdigest quantile, q‹tdigestelementŒtdigestelementtzyxwvu{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽtzyxwvu{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ  Safe-Inferred» Safe-InferredΕtdigest Median, i.e. – 0.5.–tdigest'Calculate quantile of a specific value.—tdigestMean.%mean (tdigest [1..100] :: TDigest 10) Just 50.5Note:2 if you only need the mean, calculate it directly.˜tdigest Variance.™tdigest,Standard deviation, square root of variance.štdigest!Cumulative distribution function.Note:Ñ if this is the only thing you need, it's more efficient to count this directly.›tdigest An alias for –•–—˜™š›•–—˜™š›  Safe-InferredÜ t{}~†‡‰Š‹ŒŽ•–—˜™š›tŽ‹Œ‡†}~•–—˜™š›{‰Š£ !"#$%&'()*+,-./01#$%2&3456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXY4QOPEF9:1#$%23&R8MNLZTWXYU1#$%2&344[\]^_89:`abc;deFEfMNOPQRSUWVXY1#$%2&3ghigjkglmgjngjopqrpqsô"tdigest-0.3-AYhCdJGJvGZIPnOjpkZyukData.TDigest.Internal!Data.TDigest.Postprocess.InternalData.TDigest.PostprocessData.TDigest.Tree.InternalData.TDigest.Tree.NonEmptyData.TDigest.Tree.PostprocessData.TDigest.Vector.InternalData.TDigest.Vector.PostprocessData.TDigest.NonEmptyData.TDigest.Tree Data.TDigestData.TDigest.Vector.NonEmptyData.TDigest.VectorSizeCentroidWeightMeanasserteqnegInfposInfAffineaffine fromAffine HasHistogram histogram totalWeightHistBinhbMinhbMaxhbValuehbWeight hbCumWeighthistogramFromCentroidsquantilemeanvariancecdfvalidateHistogram$fSemigroupMean'$fSemigroupVariance$fAffineCompose $fAffineProxy $fAffineMaybe$fAffineIdentity$fHasHistogram[]Maybe$fHasHistogramNonEmptyIdentity $fShowHistBinmedianstddevicdfTDigestNodeNil getCentroidssize minimumValue maximumValue emptyTDigest combineDigestinsertCentroidnodebalanceRbalanceLnode'singNodecombinedCentroid thresholdcompress forceCompress toMVector relMaxSize absMaxSizebalOmegabalAlpha debugPrintvalidvalidateinsertinsert' singletontdigest$fHasHistogramTDigestMaybe$fBinaryTDigest$fNFDataTDigest$fMonoidTDigest$fReducerDoubleTDigest$fSemigroupTDigest $fShowTDigest$fHasHistogramTDigestIdentitytdigestTotalWeight tdigestDatatdigestBufferSize tdigestBuffertdigestDirectionksizeclampksizeInvmergecombineTDigestfinalizesizeCoefficientbaseData.Traversabletraverse Data.FoldablefoldMap Data.EitherisRightfoldl'Foldable&reducers-3.12.4-FKMxBputt44KTSc17xP0WCData.Semigroup.Reducerconssnoc