Commit Graph

98 Commits

Author SHA1 Message Date
Vinzent Steinberg
c64544baa8 Implement iteration of histograms 2018-03-06 17:16:54 +01:00
Vinzent Steinberg
ba93bb4e65 Refactor histograms to use common trait 2018-03-06 16:26:02 +01:00
Vinzent Steinberg
dcb006e6e0 Merge branch 'master' of https://github.com/vks/average 2018-03-06 15:56:09 +01:00
Vinzent Steinberg
3a0dcafd21 Implement histograms
In order for them to have constant size, a macro is provided to crate
the histogram type. This should be replaced by const generics once Rust
has them.
2018-03-06 15:54:30 +01:00
Vinzent Steinberg
87bf71baa4 variable -> growing 2018-03-01 01:54:41 +01:00
Vinzent Steinberg
8b5fb44500 Clarify limitations of quantile algorithm
Refs #10.
2018-03-01 01:33:39 +01:00
Vinzent Steinberg
e4345f5046 impl FromIterator<&f64> and FromIterator<&(f64, f64)>
This allows to write

    let k: Kurtosis = a.iter().collect();

instead of

    let k: Kurtosis = a.iter().map(|x| *x).collect();

but breaks type inference for code like

    let m: Min = (1..6).map(Into::into).collect();

where

    let m: Min = (1..6).map(f64::from).collect();

has to be used instead.

Fixes #8.
2018-02-28 23:44:40 +01:00
Vinzent Steinberg
68a4fa64cb Restore compatibility with stable 2018-01-12 14:23:38 +01:00
Vinzent Steinberg
a6a477d621 Benchmark generic vs. handwritten implementation of kurtosis
Also restore no_std and remove printing left over from debugging.
2018-01-11 19:37:25 +01:00
Vinzent Steinberg
785e2141e0 Moments: Refactor merge to be in-place 2018-01-11 19:30:51 +01:00
Vinzent Steinberg
0d6cf939d1 Clarify type of kurtosis 2018-01-11 19:22:11 +01:00
Vinzent Steinberg
df099b61da Moments::merge: Calculate binomial iteratively 2018-01-11 19:19:56 +01:00
Vinzent Steinberg
9f2a8ee44f Moments: Test merge 2018-01-11 19:16:11 +01:00
Vinzent Steinberg
49ce6c5256 Moments::add: Calculate binomials iteratively 2018-01-11 19:07:57 +01:00
Vinzent Steinberg
3fd3bc4ac9 Moments: Refactor add to be in-place 2018-01-11 19:00:59 +01:00
Vinzent Steinberg
608a9733cd Code clean-up and more impls for Moments 2018-01-11 18:39:49 +01:00
Vinzent Steinberg
c1fab4722c Implement incremental calculation of arbitrary moments 2018-01-11 18:29:43 +01:00
Vinzent Steinberg
4bcc52ef25 Reenable clippy lint that no longer gives false positives 2018-01-10 16:04:29 +01:00
Eh2406
982acc9bf6 clippy 2017-12-20 16:59:51 -05:00
Vinzent Steinberg
5963cbb032
Fix typos 2017-12-20 14:55:09 +01:00
Eh2406
e41ae320ac Add to docs 2017-12-18 12:14:24 -05:00
Eh2406
b26652f2a7 inline reduce to make minmax compatibal with serde 2017-12-17 22:53:50 -05:00
Eh2406
046f47a0c2 add a feature = "serde" 2017-12-17 22:11:11 -05:00
Vinzent Steinberg
7f6d1a12c2 Move quantile tests to external file if possible 2017-11-19 10:50:59 +01:00
Vinzent Steinberg
5656156660 Fix a negative underflow when calculating quantiles
Fixes #5.
2017-11-19 10:31:00 +01:00
Vinzent Steinberg
57f9d13434 Merge branch 'percentile-99-9' of https://github.com/niklasf/average into panic 2017-11-19 10:17:59 +01:00
Vinzent Steinberg
6568725139 Merge branch 'master' of https://github.com/vks/average 2017-11-19 10:13:41 +01:00
Niklas Fiekas
f7ee0b1127 Panic when using quantile close to 1 2017-11-18 12:22:58 +01:00
Eric Culp
d8d171e025 Fix compile on 32-bit
Fix #3
2017-11-12 16:42:48 -08:00
Eh2406
b8d31c80ee clarify types for rust/pull/44287 2017-09-13 23:35:53 -04:00
Vinzent Steinberg
dc25fd1687 Add a reference for calculating quantiles 2017-06-27 12:45:04 +02:00
Vinzent Steinberg
0098668d3b Add a reference for calculating moments 2017-06-27 12:40:09 +02:00
Vinzent Steinberg
9daef2c101 Add missing file 2017-06-27 09:58:37 +02:00
Vinzent Steinberg
5d6d67bac9 Move add and merge to trait
This should make it possible to write more generic code.
2017-06-25 15:39:12 +02:00
Vinzent Steinberg
d5b3fc80ab More code deduplication 2017-06-23 17:43:42 +02:00
Vinzent Steinberg
9313307ae9 Reduce code duplication by using a macro 2017-06-23 16:47:11 +02:00
Vinzent Steinberg
2012479430 Document what is implemented by concatenate 2017-06-21 19:41:25 +02:00
Vinzent Steinberg
9b055e4c0b Make sure concatenate inlines 2017-06-21 19:35:17 +02:00
Vinzent Steinberg
fd72100913 Improve documentation 2017-06-21 19:34:51 +02:00
Vinzent Steinberg
f698e4dc50 Improve concatenate to support several statistics from one estimator 2017-06-21 19:29:25 +02:00
Vinzent Steinberg
2b960310ce Implement Default for Quantile 2017-06-21 19:23:53 +02:00
Vinzent Steinberg
01157da831 Macro for concatenating iterative estimators 2017-06-21 18:05:54 +02:00
Vinzent Steinberg
83aa052040 Fix a clippy warning 2017-05-30 11:18:25 +02:00
Vinzent Steinberg
20521ac22c Disable some noisy clippy warnings 2017-05-30 10:54:14 +02:00
Vinzent Steinberg
d68a138d86 Implement Default for Min and Max 2017-05-30 10:43:57 +02:00
Vinzent Steinberg
eafe23b568 Add example 2017-05-29 00:58:25 +02:00
Vinzent Steinberg
c6f3bb6d99 Use mean instead of average in docs 2017-05-29 00:42:33 +02:00
Vinzent Steinberg
0705c3f61f Fix typo 2017-05-29 00:40:16 +02:00
Vinzent Steinberg
80e92f6176 Update documentation 2017-05-29 00:39:33 +02:00
Vinzent Steinberg
b8e980d6ce Implement kurtosis
Also improve skewness tests.
2017-05-28 23:33:16 +02:00