It’s worth noting that PyArray_GETITEM is the equivalent of arr[....].item(), not arr[...]. If you want the behavior of the latter, use PyArray_Scalar instead.
Similarly, PyArray_SETITEM is only guaranteed to be equivalent to arr[...] = x when isinstance(x, np.generic) is false. I don’t think these belong in public API yet, because they don’t expose the interface that most people might expect. Their names are based solely on the names of descr->f->getitem. Eric On Fri, 17 Nov 2017 at 13:12 Allan Haldane <allanhald...@gmail.com> wrote: > On 11/13/2017 01:53 PM, Mmanu Chaturvedi wrote: > > Hello All, > > > > I need to make use of the limited numpy API access Pybind11 gives, in > order > > to add a feature to it. It seems to give access to functions from > > numpy_api.py [1]. I need to use PyArray_GETITEM and PyArray_SETITEM in > > order to get and set array elements [2], these functions / macros are > not > > exposed via numpy_api.py, but are in `numpy/ndarraytypes.h`. > > > > We were wondering why aren't PyArray_GETITEM and PyArray_SETITEM exposed > > like the rest of numpy API? Is it possible to replicate the behavior > using > > the members exposed in numpy_api.py ? Any help would be appreciated. > > > > Mmanu > > It looks like that was the plan. There are comments there saying they > would become part of the API in "numpy 2.0" (which hasn't happened yet). > > In the meantime, maybe you can use PySequence_SetItem? I expect that > there is only very minimal overhead in using that vs PyArray_SETITEM. > > Allan > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion@python.org > https://mail.python.org/mailman/listinfo/numpy-discussion >
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@python.org https://mail.python.org/mailman/listinfo/numpy-discussion