rust-random / rand

A Rust library for random number generation.
https://crates.io/crates/rand
Other
1.6k stars 423 forks source link

Tracker: Closing Old Issues #1432

Open MichaelOwenDyer opened 3 months ago

MichaelOwenDyer commented 3 months ago

Was just reading through the GitHub issues and noticed that there are old issues going all the way back to 2016 which haven't been implemented yet. I think it would be a good thing to work to finally close some of these, so that they aren't just clogging the tab up anymore and hopefully can result in some meaningful, long-awaited improvements to this crate.

I suggest that we keep this issue open as a tracking thread to prioritize older issues which could use a little love. I'd like to invite everyone to add to the list the issues you think are low-hanging fruit, are particularly worthy, you have been secretly hoping someone else would take care of, etc. I hope that this also kick-starts the conversations again in those respective threads, because I believe a fair portion of these old issues stalled due to not being 100% figured out yet, so we're gonna need to put on our brainstorming hats 🤠

I'm looking for ways to contribute right now, so I volunteer to put some of my spare time into this.

I'll start the list off with the very oldest issues currently still open:

dhardy commented 3 months ago

Thanks for choosing to help the project, @MichaelOwenDyer. It is good to get old issues resolved, though sometimes there is insufficient motive to solve them in rand and other times there is simply not enough interest to make progress on an issue. I'll take a quick look...

  1. It might always be obvious how best to present distributions, but for the most part I think this is just waiting for someone to implement.
  2. Just close? I don't think there's much utility or a reason it can't be external.
  3. Needs some work to check viability / benefit and possibly follow up with a PR.
  4. Clear enough
  5. Like 3, it's not immediately obvious if this is beneficial to the project.
MichaelOwenDyer commented 3 months ago

Okay then I will get started on #131 and go ahead and close #182.

dhardy commented 2 months ago

I added #357 which is vaguely similar to your work on the charts. Idea: for a small number of parameter sets, generate a fixed number of samples and construct a histogram. Plot and visually check. Add the histogram values as a standard test, requiring exact reproducibility (another stability check) — note that we don't need to test value stability here, but anything approximate is hard to do well (especially without being hugely compute-intensive).

The standard tests should be reasonably fast to run, so we don't want too large a number of samples or buckets (though higher numbers could be used for initial visual analysis).

vks commented 2 months ago

@dhardy We already have approximate histogram tests for uniform and normal (#1121) distributions.