ENH:Pythonize id_dist FORTRAN code #20558
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Reference issue
Closes #18367
Closes #20452
Closes #20609
Part of #18566
What does this implement/fix?
Replaces the infamous id_dist code with its Python equivalent.
Additional information
Currently only Python version is being added. The performance difference is about 60x slower which means a Cython or Pythran version will be on par with the original version which is losing much of its magic at f2py bridge. Frankly, this code should never made its way into SciPy in its current form. The method is pretty much rock solid but the code is very haphazard.
There are also additional functions made public which are
seed
andrand
. The new code is acceptingGenerator
s so not sure how to deprecate them yet. I'll save it until the translation is finished.