Commit Graph

162 Commits

Author SHA1 Message Date
Vinzent Steinberg
663009f358 Make it possible to calculate an arbitrary number of moments 2018-07-10 17:19:57 +02:00
Vinzent Steinberg
1e7a852862 Improve quantile tests 2018-07-10 16:31:33 +02:00
Vinzent Steinberg
0de183127e Implement merge for Histogram 2018-07-06 13:27:26 +02:00
Vinzent Steinberg
f22c7b362d Update README 2018-07-06 13:11:40 +02:00
Vinzent Steinberg
fcbe51f1dd Improve Histogram docs by exporting the Histogram10 special case 2018-07-06 13:08:33 +02:00
Vinzent Steinberg
554d4ca596 Use float-ord instead of quickersort
The latter has been deprecated.
2018-07-06 11:01:41 +02:00
Vinzent Steinberg
0faada0687 Fix benchmarks 2018-07-06 10:56:35 +02:00
Vinzent Steinberg
ef41836ec5 Small improvements to Histogram docs 2018-07-06 10:52:19 +02:00
Vinzent Steinberg
7f8663c23e Update dependencies 2018-07-06 10:31:26 +02:00
Vinzent Steinberg
9f1c28147c Moments: Improve docs 2018-07-06 10:08:18 +02:00
Vinzent Steinberg
41e7df435d Relax skewness test for exponential distribution
This was sometimes making the CI tests fail.
2018-03-07 17:57:49 +01:00
Vinzent Steinberg
7e06374843 histogram: Implement variance
This is useful for error estimates.
2018-03-07 17:45:38 +01:00
Vinzent Steinberg
0259728bb8 Fix constant width histograms for ranges not starting at 0 2018-03-07 17:37:06 +01:00
Vinzent Steinberg
c04ce8887e histogram: Implement AddAssign and MulAssign
Also clarify documentation and name of `min`/`max`.
2018-03-07 17:08:19 +01:00
Vinzent Steinberg
2775f78e8e Expose finding of bin for given sample 2018-03-06 19:31:09 +01:00
Vinzent Steinberg
682fec27fe histogram: Implement min, max and reset 2018-03-06 19:22:42 +01:00
Vinzent Steinberg
08445ba2a3 histogram: Inline default impls 2018-03-06 19:03:46 +01:00
Vinzent Steinberg
d1ab9630af histogram: Implement iteration over bin centers 2018-03-06 18:55:21 +01:00
Vinzent Steinberg
3f22412aa3 Fix clippy warnings 2018-03-06 18:48:08 +01:00
Vinzent Steinberg
86a411143e histogram: Implement iteration of bin widths and normalized bins 2018-03-06 18:27:31 +01:00
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
f553a06521 Mention quantiles crate 2018-03-01 01:40:02 +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
d539342bf1 Moments: Add serde test 2018-01-11 19:42:41 +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
383c85c470 Improve test slightly 2018-01-11 19:25:25 +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
d9f0b056c6 Bump version 2018-01-10 16:06:13 +01:00
Vinzent Steinberg
4bcc52ef25 Reenable clippy lint that no longer gives false positives 2018-01-10 16:04:29 +01:00
Vinzent Steinberg
2ee38b9d57 Fix clippy warnings 2018-01-10 16:02:55 +01:00
Vinzent Steinberg
11260d255b Fix a compiler warning 2017-12-21 10:47:45 +01:00
Eh2406
982acc9bf6 clippy 2017-12-20 16:59:51 -05:00
Eh2406
cac986d87e Add test 2017-12-20 16:46:50 -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
ad9fba41e7 add serde to travis 2017-12-17 23:31:25 -05:00
Eh2406
b26652f2a7 inline reduce to make minmax compatibal with serde 2017-12-17 22:53:50 -05:00