[Numpy-discussion] PyArray_GETITEM and PyArray_SETITEM
wieser.eric+numpy at gmail.com
Fri Nov 17 16:44:29 EST 2017
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
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.
On Fri, 17 Nov 2017 at 13:12 Allan Haldane <allanhaldane at 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
> > to add a feature to it. It seems to give access to functions from
> > numpy_api.py . I need to use PyArray_GETITEM and PyArray_SETITEM in
> > order to get and set array elements , these functions / macros are
> > 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
> > 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.
> NumPy-Discussion mailing list
> NumPy-Discussion at python.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the NumPy-Discussion