Commit Graph

25 Commits

Author SHA1 Message Date
Vinzent Steinberg
25d894a2f6 Use custom implementation of binomial coefficient
This lets us get rid of the num-integer dependency and makes the
performance of the code generated by `define_moments` close to that of
`Kurtosis`. Before, it was several times slower.

However, the custom implementation is more vulnerable to integer
overflow. In practise, this should not matter, since it does not make
sense to calculate moments of very high order.
2019-05-22 15:51:11 +02:00
Vinzent Steinberg
5a6fb296a4 Fix typo 2018-07-27 16:55:02 +02:00
Vinzent Steinberg
537a00c053 Fix type inference failure on some targets 2018-07-27 15:14:44 +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
663009f358 Make it possible to calculate an arbitrary number of moments 2018-07-10 17:19:57 +02:00
Vinzent Steinberg
9f1c28147c Moments: Improve docs 2018-07-06 10:08:18 +02:00
Vinzent Steinberg
3f22412aa3 Fix clippy warnings 2018-03-06 18:48:08 +01:00
Vinzent Steinberg
68a4fa64cb Restore compatibility with stable 2018-01-12 14:23:38 +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
0098668d3b Add a reference for calculating moments 2017-06-27 12:40:09 +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
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