-
Notifications
You must be signed in to change notification settings - Fork 2.2k
[READY] Small fixes in numpy.h #2293
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
Conversation
How was this never noticed? This means that
This was changed in #782, but it seems that was a bit too enthusiast? Would you mind going over the other changes in this PR and see if more things that should not made signed now still are? |
There has actually been discussion on that: #782 (review) |
It is never used. Also, the compiler has no way of warning us here because this works by grabbing a
Hmm... but we're geting a cast to signed anyway. That's why the warning happens. |
Right, I thought so. Should we maybe comment out the things that aren't used (and not tested)?
Ah, wait, you're changing it tó |
I'd rather drop it completely than comment it out. As this pull request shows, the more of numpy's multiarray C API we use, the worse. Should I check the rest and remove all that aren't used? |
After a short discussion with @YannickJadoul we agreed not to touch |
- `PyArray_NewFromDescr_` should have been using `Py_intptr_t const *` - https://github.com/numpy/numpy/blob/18a6e3e505ee416ddfc617f3e9afdff5a031c2c2/numpy/core/src/multiarray/ctors.h#L5-L8 - `PyArray_GetArrayParamsFromObject_` should be using `NPY_BOOL` - https://github.com/numpy/numpy/blob/18a6e3e505ee416ddfc617f3e9afdff5a031c2c2/numpy/core/src/multiarray/ctors.c#L1350-L1355 - https://docs.scipy.org/doc/numpy-1.13.0/reference/c-api.dtype.html#c.npy_bool - `PyArray_DescrNewFromType` is at offset 96 - https://github.com/numpy/numpy/blob/36e017194c32a53cf2965a513243cb3c348095df/numpy/core/code_generators/numpy_api.py#L141 - `array_t` constructor that takes a size and a pointer should take `ssize_t`. - Fixes pybind#1599
Oh gosh, good catch about the bad offset. All of these changes look good to me, please feel free to merge yourself when ready. |
All is green; let's go! |
Thanks, @bstaletic! |
PyArray_NewFromDescr_
should have been usingPy_intptr_t const *
PyArray_GetArrayParamsFromObject_
should be usingNPY_BOOL
PyArray_DescrNewFromType
is at offset 96array_t
constructor that takes a size and a pointer should takessize_t
.