Vinzent Steinberg
547149bfd2
Fix serde support
...
* Use correct Cargo flags.
* Fix tests.
* Fix histogram serialization.
2019-01-22 14:29:29 +01:00
Vinzent Steinberg
8c5121ca08
Suggest correct Serde feature
2018-07-27 16:53:27 +02:00
Vinzent Steinberg
bb994f0f22
Improve docs on calculation of arbitrary moments
2018-07-27 16:50:02 +02:00
Vinzent Steinberg
56344750a7
Fixes to `Histogram`
...
1. Now histograms with more than 31 bins are supported (before there
were issues with missing implementations on arrays.)
2. The items defined by `define_histogram!` are in their own module, to
avoid issues with Rust's lack of macro hygiene for items.
2018-07-24 18:18:05 +02:00
Vinzent Steinberg
a7dde93df8
More idiomatic serde support
...
* Follow the suggestions from the Serde docs.
* Rename the feature from `serde` to `serde1`.
* Fix a doctest.
* Mention the feature in the README.
2018-07-11 12:54:37 +02:00
Vinzent Steinberg
663009f358
Make it possible to calculate an arbitrary number of moments
2018-07-10 17:19:57 +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
ef41836ec5
Small improvements to Histogram docs
2018-07-06 10:52:19 +02: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
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
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
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
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
fd72100913
Improve documentation
2017-06-21 19:34:51 +02:00
Vinzent Steinberg
01157da831
Macro for concatenating iterative estimators
2017-06-21 18:05:54 +02:00
Vinzent Steinberg
20521ac22c
Disable some noisy clippy warnings
2017-05-30 10:54:14 +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
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
Vinzent Steinberg
4f5ddbd6e9
Implement skewness and add missing inline annotations
2017-05-28 22:37:48 +02:00
Vinzent Steinberg
30622be775
Rename average to mean for consistency
2017-05-28 21:13:47 +02:00
Vinzent Steinberg
712303b58a
Split up moments into one file for each
...
This anticipates adding skewness.
2017-05-28 21:00:04 +02:00
Vinzent Steinberg
95a2a1d409
Implement quantile
2017-05-25 15:42:53 +02:00
Vinzent Steinberg
cfab296f58
Improve documentation
2017-05-24 19:45:58 +02:00
Vinzent Steinberg
0d1e1c4f12
Implement `Max`
2017-05-24 19:17:52 +02:00
Vinzent Steinberg
30ea084366
Generalize `Min` implementation
2017-05-24 19:17:52 +02:00
Vinzent Steinberg
d2ebdc27c3
Implement `Min`
2017-05-24 19:17:46 +02:00
Vinzent Steinberg
a95ab05c10
Factor out calculation of average
...
Now it is possible to calculate the average without calculating the
error.
2017-05-24 11:33:15 +02:00
Vinzent Steinberg
962adb91d7
Rename `Average` to `AverageWithError`
...
This anticipates an implementation that does not calculate the error.
2017-05-24 11:32:24 +02:00
Vinzent Steinberg
262d5c88da
Improve docs
2017-05-22 18:47:46 +02:00
Vinzent Steinberg
77fa8b4ed2
Remove inferior estimate of error of weighted average
...
It was a biased estimator, while the alternative one isn't.
2017-05-22 13:24:57 +02:00
Vinzent Steinberg
334d8ae9cd
Improve documentation
2017-05-19 17:53:54 +02:00
Vinzent Steinberg
fbdb247a0e
Implement WinCross estimator of standard error of weighted average
2017-05-19 15:38:39 +02:00
Vinzent Steinberg
0488d6f105
Implement weighted average
2017-05-05 19:07:03 +02:00
Vinzent Steinberg
068381f366
Refactor code into more files
2017-05-05 17:42:21 +02:00
Vinzent Steinberg
53b44d1a13
Add test comparing to streaming-stats
2017-05-05 16:40:23 +02:00
Vinzent Steinberg
a5aa7df51d
Make benchmarks work on stable
2017-05-05 16:20:44 +02:00
Vinzent Steinberg
afd46067a9
Improve documentation
2017-05-05 16:04:51 +02:00
Vinzent Steinberg
c75ffc01f1
Add example
2017-05-05 15:59:50 +02:00