-
-
Notifications
You must be signed in to change notification settings - Fork 10.9k
MAINT: backport Cython API cleanup to 1.17.x, remove docs #14593
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
afd577d
495e2ee
281ee32
5c0b105
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
This file was deleted.
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -152,10 +152,6 @@ What's New or Different | |
* Optional ``out`` argument that allows existing arrays to be filled for | ||
select distributions | ||
* All BitGenerators can produce doubles, uint64s and uint32s via CTypes | ||
(`~.PCG64.ctypes`) and CFFI (`~.PCG64.cffi`). This allows the bit generators | ||
to be used in numba. | ||
* The bit generators can be used in downstream projects via | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Technically this statement is also True, since bit generator all export a capsule that can be unpacked in Cython get There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. reverted the deletion There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. on second thought, I think that use is too obscure to be practical. Let's remove that from this release. |
||
:ref:`Cython <randomgen_cython>`. | ||
* `~.Generator.integers` is now the canonical way to generate integer | ||
random numbers from a discrete uniform distribution. The ``rand`` and | ||
``randn`` methods are only available through the legacy `~.RandomState`. | ||
|
@@ -199,7 +195,6 @@ Features | |
Multithreaded Generation <multithreading> | ||
new-or-different | ||
Comparing Performance <performance> | ||
extending | ||
|
||
Original Source | ||
~~~~~~~~~~~~~~~ | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -56,13 +56,12 @@ And in more detail: | |
``randn`` methods are only available through the legacy `~.RandomState`. | ||
This replaces both ``randint`` and the deprecated ``random_integers``. | ||
* The Box-Muller method used to produce NumPy's normals is no longer available. | ||
* All bit generators can produce doubles, uint64s and | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Same comment. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. reverted |
||
uint32s via CTypes (`~PCG64.ctypes`) and CFFI (`~PCG64.cffi`). | ||
This allows these bit generators to be used in numba. | ||
* All bit generators can produce doubles, uint64s and uint32s via CTypes | ||
(`~PCG64.ctypes`) and CFFI (`~PCG64.cffi`). This allows these bit generators | ||
to be used in numba. | ||
* The bit generators can be used in downstream projects via | ||
Cython. | ||
|
||
|
||
.. ipython:: python | ||
|
||
from numpy.random import Generator, PCG64 | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -5,7 +5,7 @@ from libc.stdint cimport (uint8_t, uint16_t, uint32_t, uint64_t, | |
uintptr_t) | ||
from libc.math cimport sqrt | ||
|
||
cdef extern from "numpy/random/bitgen.h": | ||
cdef extern from "src/bitgen.h": | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The original is what is in 1.17 and will also be in 1.18 after the C-API changes go in. |
||
struct bitgen: | ||
void *state | ||
uint64_t (*next_uint64)(void *st) nogil | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -9,7 +9,7 @@ | |
#include "Python.h" | ||
#include "numpy/npy_common.h" | ||
#include "numpy/npy_math.h" | ||
#include "numpy/random/bitgen.h" | ||
#include "src/bitgen.h" | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This isn't correct for 1.17, and it looks like 1.17 will be the same as 1.18 after the C-API changes go in.
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The current 1.17 file is renamed in this PR, do we want to do that for an existing release? |
||
|
||
/* | ||
* RAND_INT_TYPE is used to share integer generators with RandomState which | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This statement is still true on 1.17.x.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@rgommers Comment?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
no idea, I have no reason to doubt @bashtage's comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we omit the deletion here, or is reasonable for 1.17 and we will cover things better in 1.18? I'd like to put this backport in. Maybe have another if there are changes in master?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Happy to omit this deletion, will verify later today or tomorrow and change if it still works.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK, will wait. @bashtage makes the same comment in several places.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@rgommers Still want to look at this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sorry, failed to make time - not going to happen until end of next week at the earliest. added the 1.17.4 milestone, it seems that it should go into that release
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
reverted the deletion:
BitGenerator.ctypes
still exists