Vinzent Steinberg
ee110a774f
define_histogram: Fix potential issue
2018-07-24 18:58:17 +02:00
Vinzent Steinberg
5807e211dc
Clarify core
is required for define_histogram
2018-07-24 18:52:40 +02:00
Vinzent Steinberg
159af1df99
Bump version
2018-07-24 18:22:00 +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
b010d0cae6
Fix moments benchmark
2018-07-11 15:52:57 +02:00
Vinzent Steinberg
34eddeec1e
Fix Travis serde build
2018-07-11 13:04:26 +02:00
Vinzent Steinberg
7ac16c974e
Mention no_std support
2018-07-11 12:58:17 +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
34d33ef21a
Slightly improve calculation of standardized moment
...
Also test more of the trivial cases.
2018-07-11 12:37:06 +02:00
Vinzent Steinberg
3e7a66b519
Remove dead code
2018-07-11 12:31:32 +02:00
Vinzent Steinberg
9a2047a05d
Bump version
2018-07-10 18:07:03 +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
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