1- Unreleased
2-
3-
4- v0.16.0
1+ # Changelog
2+ All notable changes to this project will be documented in this file.
3+
4+ The format is based on [ Keep a Changelog] ( https://keepachangelog.com/en/1.0.0/ ) ,
5+ and this project adheres to [ Semantic Versioning] ( https://semver.org/spec/v2.0.0.html ) .
6+
7+ ## [ Unreleased]
8+
9+ ## [ 0.17.0] ( https://github.com/statrs-dev/statrs/compare/v0.16.0...v0.17.0 ) - 2024-05-30
10+
11+ ### Added
12+ - specializes ` inverse_cdf() ` for Uniform (#166 )
13+ - Add way to get standard normal distribution easily. (#228 )
14+ - reject constructing Uniform of infinite support (#218 )
15+ - extend ` StatsError ` for finiteness (#218 )
16+ - default implementation of survival function with generics (#179 )
17+ - update ` MultivariateNormal ` API
18+ - construct from nalgebra with ` MultivariateNormal::new_from_nalgebra ` (#177 )
19+ - support ` std::vec ` vector input in addition to ` nalgebra ` vectors (#199 )
20+
21+ ### Fixed
22+ - Update nalgebra to 0.32 (#187 )
23+ - for Gamma with shape<1 there is no mode, returns ` None ` instead of some negative number (#212 )
24+ - fix precision of <Gamma as ContinuousCDF >::inverse_cdf with some newton raphson steps (#227 )
25+ - adds test case from #200
26+ - fix integer bisection for default implementation of ` <D as DiscreteCDF>::inverse_cdf ` (#220 )
27+ - also add tests from (#185 )
28+
29+ ### Other
30+ - Remove "nightly" feature and drop testing requirement for ` nightly ` (#234 )
31+ - Allow some imprecision in specific test case (#215 )
32+ - Update CI (#215 )
33+ - Check formatting in CI via rustfmt
34+ - Expand CI test job
35+ - Add clippy job to CI
36+ - update README with formatting and adding to "Contributing" (#213 )
37+ - Add test asserting that ` StatsError ` is Sync & Send (#226 )
38+ - Rename private struct NonNAN<T > to NonNan<T > (#222 )
39+ - Remove ` lazy-static ` dependency and make FCACHE a proper const (#211 )
40+ - crate examples shall be in docstrings instead of README (#213 )
41+ - alias ` inverse_cdf ` as "quantile function" in docs (#213 )
42+ - docstrings with math shall be ` text ` instead of ` ignore ` (#213 )
43+
44+
45+
46+ ## [ 0.16.0]
547
648- Adds an ` sf ` method to the ` ContinuousCDF ` and ` DiscreteCDF ` traits
749 - Calculates the survival function (CDF complement) for the distribution.
850- Survival function implemented for all distributions implementing ` ContinuousCDF ` and ` DiscreteCDF `
951 - See [ PR description] ( https://github.com/statrs-dev/statrs/pull/172 ) for in-depth changes
1052- update ` nalgebra ` to ` 0.29 `
1153
12- v0.15.0
54+ ## [ v0.15.0] ( https://www.github.com/statrs-dev/statrs/compare/v0.15.0...v0.16.0 )
1355
1456- upgrade ` nalgebra ` to ` 0.27.1 ` to avoid RUSTSEC-2021-0070
1557
16- v0.14.0
58+ ## [ v0.14.0] ( https://www.github.com/statrs-dev/statrs/compare/v0.14.0...v0.15.0 )
1759
1860- upgrade ` rand ` dependency to ` 0.8 `
1961- fix inaccurate sampling of ` Gamma `
@@ -27,28 +69,28 @@ v0.14.0
2769- Moved to dynamic vectors in the MultivariateNormal distribution
2870- Reduced a number of distribution-specific traits into the Distribution and DiscreteDistribution traits
2971
30- v0.13.0
72+ ## [ v0.13.0] ( https://www.github.com/statrs-dev/statrs/compare/v0.12.0...v0.13.0 )
3173
3274- Implemented ` MultivariateNormal ` distribution (depends on ` nalgebra 0.19 ` )
3375- Implemented ` Dirac ` distribution
3476- Implemented ` Negative Binomial ` distribution
3577
36- v0.12.0
78+ ## [ v0.12.0] ( https://www.github.com/statrs-dev/statrs/compare/v0.11.0...v0.12.0 )
3779
3880- upgrade ` rand ` dependency to ` 0.7 `
3981
40- v0.11.0
82+ ## [ v0.11.0] ( https://www.github.com/statrs-dev/statrs/compare/v0.10.0...v0.11.0 )
4183
4284- upgrade ` rand ` dependency to ` 0.6 `
4385- Implement ` CheckedInverseCDF ` and ` InverseCDF ` for ` Normal ` distribution
4486
45- v0.10.0
87+ ## [ v0.10.0] ( https://www.github.com/statrs-dev/statrs/compare/v0.9.0...v0.10.0 )
4688
4789- upgrade ` rand ` dependency to ` 0.5 `
4890- Removes the ` Distribution ` trait in favor of the ` rand::distributions::Distribution ` trait
4991- Removed functions deprecated in ` 0.8.0 ` (` periodic ` , ` periodic_custom ` , ` sinusoidal ` , ` sinusoidal_custom ` )
5092
51- v0.9.0
93+ ## [ v0.9.0] ( https://www.github.com/statrs-dev/statrs/compare/v0.16.0...v0.17.0 )
5294
5395- implemented infinite sequence generator for periodic sequence
5496- implemented infinite sequence generator for sinusoidal sequence
@@ -60,7 +102,7 @@ v0.9.0
60102- Implemented ` Entropy ` trait for the ` Categorical ` distribution
61103- Add a ` checked_ ` interface to all distribution methods and functions that may panic
62104
63- v0.8.0
105+ ## [ v0.8.0] ( https://www.github.com/statrs-dev/statrs/compare/v0.16.0...v0.17.0 )
64106
65107- ` cdf(x) ` , ` pdf(x) ` and ` pmf(x) ` now return the correct value instead of panicking when ` x ` is outside the range of values that the distribution can attain.
66108- Fixed a bug in the ` Uniform ` distribution implementation where samples were drawn from range ` [min, max + 1) ` instead of ` [min, max] ` . The samples are now drawn correctly from the range ` [min, max] ` .
@@ -97,14 +139,14 @@ assert!(x.min().is_nan());
97139
98140Since the regression affects a very slim edge-case and the fix is very simple, no breaking changes to the ` Statistics ` API was deemed necessary
99141
100- v0.7.0
142+ ## [ v0.7.0] ( https://www.github.com/statrs-dev/statrs/compare/v0.6.0...v0.7.0 )
101143
102144- Implemented ` Categorical ` distribution
103145- Implemented ` Erlang ` distribution
104146- Implemented ` Multinomial ` distribution
105147- New ` InverseCDF ` trait for distributions that implement the inverse cdf function
106148
107- v0.6.0
149+ ## [ v0.6.0] ( https://www.github.com/statrs-dev/statrs/compare/v0.16.0...v0.17.0 )
108150
109151- ` gamma::gamma_ur ` , ` gamma::gamma_ui ` , ` gamma::gamma_lr ` , and ` gamma::gamma_li ` now follow strict gamma function domain, panicking if ` a ` or ` x ` are not in ` (0, +inf) `
110152- ` beta::beta_reg ` no longer allows ` 0.0 ` for ` a ` or ` b ` arguments
@@ -135,11 +177,11 @@ v0.6.0
135177- ` Hypergeometric ` now implements ` Discrete<u64, f64> ` rather than ` Discrete<i64, f64> `
136178- ` Poisson ` now implements ` Discrete<u64, f64> ` rather than ` Discrete<i64, f64> `
137179
138- v0.5.1
180+ ## [ v0.5.1] ( https://www.github.com/statrs-dev/statrs/compare/v0.5.0...v0.5.1 )
139181
140182- Fixed critical bug in ` normal::sample_unchecked ` where it was returning ` NaN `
141183
142- v0.5.0
184+ ## [ v0.5.0] ( https://www.github.com/statrs-dev/statrs/compare/v0.4.0...v0.5.0 )
143185
144186- Implemented the ` logistic::logistic ` special function
145187- Implemented the ` logistic::logit ` special function
@@ -154,22 +196,22 @@ v0.5.0
154196- ` Binomial::pdf ` and ` Binomial::ln_pdf ` now panic if ` x > n ` or ` x < 0 `
155197- ` Bernoulli::pdf ` and ` Bernoulli::ln_pdf ` now panic if ` x > 1 ` or ` x < 0 `
156198
157- v0.4.0
199+ ## [ v0.4.0]
158200
159201- Implemented the ` exponential::integral ` special function
160202- Implemented the ` Cauchy ` (otherwise known as the ` Lorenz ` ) distribution
161203- Implemented the ` Dirichlet ` distribution
162204- ` Continuous ` and ` Discrete ` traits no longer dependent on ` Distribution ` trait
163205
164- v0.3.2
206+ ## [ v0.3.2]
165207
166208- Implemented the ` FisherSnedecor ` (F) distribution
167209
168- v0.3.1
210+ ## [ v0.3.1]
169211
170212- Removed print statements from ` ln_pdf ` method in ` Beta ` distribution
171213
172- v0.3.0
214+ ## [ v0.3.0]
173215
174216- Moved methods ` min ` and ` max ` out of trait ` Univariate ` into their own respective traits ` Min ` and ` Max `
175217- Traits ` Min ` , ` Max ` , ` Mean ` , ` Variance ` , ` Entropy ` , ` Skewness ` , ` Median ` , and ` Mode ` moved from ` distribution ` module to ` statistics ` module
@@ -184,7 +226,7 @@ v0.3.0
184226- ` InplaceStatistics ` renamed to ` OrderStatistics ` , all methods in ` InplaceStatistics ` have ` _inplace ` trimmed from method name.
185227- Inverse DiGamma function implemented with signature ` gamma::inv_digamma(x: f64) -> f64 `
186228
187- v0.2.0
229+ ## [ v0.2.0]
188230
189231- Created ` statistics ` module and ` Statistics ` trait
190232- ` Statistics ` trait implementation for ` [f64] `
0 commit comments