-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Commit 4079776
authored
Add
* Copy CPython 3.13 statistics module into RustPython
* Adjust CPython "magic constants" in KDE tests
## test_kde
I'm not too sure why but this one takes a few seconds to run the second
for loop which calculates the cumulative distribution and does a rough
calculation of the area under the curve.
## test_kde_random
I have a lower bound for RustPython to sort a random list of 1_000_000
numbers on my laptop of > 1 hour. By dropping n to 30_000 sort will not
take an egregious amount of time to run. It is then necessary to lower
the tolerance for the math.isclose check, or the computed values may
**randomly** fail due to the higher variance caused by the smaller
sample size.
* Reintroduce expected failure in test_statistics.TestNormalDict.test_slots
* Sync Rust `normal_dist_inv_cdf` with Python equivalent
See python/cpython#95265.
To quote:
> Restores alignment with random.gauss(mu, sigma) and
random.normalvariate(mu, sigma) both. of which are equivalent to
sampling from NormalDist(mu, sigma).inv_cdf(random()). The two functions
in the random module happy accept sigma=0 and give a well-defined
result.
> This also lets the function gently handle a sigma getting smaller,
eventually becoming zero. As sigma decrease, NormalDist(mu,
sigma).inv_cdf(p) forms a tighter and tighter internal around mu and
becoming exactly mu in the limit. For example, NormalDist(100,
1E-300).inv_cdf(0.3) cleanly evaluates to 100.0but withsigma=1e-500``
the function previously would raised an unexpected error.kde
function and tests to RustPython statistics module (#6030)1 parent c232b7f commit 4079776Copy full SHA for 4079776
File tree
Expand file treeCollapse file tree
3 files changed
+1193
-252
lines changedFilter options
- Lib
- test
- stdlib/src
Expand file treeCollapse file tree
3 files changed
+1193
-252
lines changed
0 commit comments