View Source quantile_estimator (quantile_estimator v1.0.2)
Based on: Cormode et. al.: "Effective Computation of Biased Quantiles over Data Streams"
Summary
Types
Functions
-spec compress(#quantile_estimator{samples_count :: non_neg_integer(), data_count :: non_neg_integer(), inserts_since_compression :: non_neg_integer(), data :: [#group{v :: number(), g :: number(), delta :: number(), rank :: number()}], invariant :: quantile_estimator:invariant()}) -> #quantile_estimator{samples_count :: non_neg_integer(), data_count :: non_neg_integer(), inserts_since_compression :: non_neg_integer(), data :: [#group{v :: number(), g :: number(), delta :: number(), rank :: number()}], invariant :: quantile_estimator:invariant()}.
-spec insert(data_sample(), #quantile_estimator{samples_count :: non_neg_integer(), data_count :: non_neg_integer(), inserts_since_compression :: non_neg_integer(), data :: [#group{v :: number(), g :: number(), delta :: number(), rank :: number()}], invariant :: quantile_estimator:invariant()}) -> #quantile_estimator{samples_count :: non_neg_integer(), data_count :: non_neg_integer(), inserts_since_compression :: non_neg_integer(), data :: [#group{v :: number(), g :: number(), delta :: number(), rank :: number()}], invariant :: quantile_estimator:invariant()}.
-spec inserts_since_compression(#quantile_estimator{samples_count :: non_neg_integer(), data_count :: non_neg_integer(), inserts_since_compression :: non_neg_integer(), data :: [#group{v :: number(), g :: number(), delta :: number(), rank :: number()}], invariant :: quantile_estimator:invariant()}) -> non_neg_integer().
-spec new(invariant()) -> #quantile_estimator{samples_count :: non_neg_integer(), data_count :: non_neg_integer(), inserts_since_compression :: non_neg_integer(), data :: [#group{v :: number(), g :: number(), delta :: number(), rank :: number()}], invariant :: quantile_estimator:invariant()}.
-spec quantile(number(), #quantile_estimator{samples_count :: non_neg_integer(), data_count :: non_neg_integer(), inserts_since_compression :: non_neg_integer(), data :: [#group{v :: number(), g :: number(), delta :: number(), rank :: number()}], invariant :: quantile_estimator:invariant()}) -> number().