Как создать срез массива с помощью API NumPy C?


Я хочу, чтобы нарезать через библиотеки numpy 1Д в c расширением. Я вижу всевозможные вспомогательные функции в C API для создания свежих массивов, изменения формы, индексирования определенных значений и т. д.. Но я не вижу ничего похожего на PyArray_Slice1D (array, start, stop, step). Существует ли такая вещь?

1 5

1 ответ:

Вы можете использовать Python API: создайте объект slice с помощью PySlice_New(), а затем вызовите PyObject_GetItem():

PyObject* PySlice_New(PyObject *start, PyObject *stop, PyObject *step)
PyObject* PyObject_GetItem(PyObject *o, PyObject *key)