Commit e426bbd4 authored by jbrockmendel's avatar jbrockmendel Committed by Stefan Behnel

Fix PyArray_SearchSorted signature (GH-3606)

parent 5f9800ab
...@@ -341,7 +341,6 @@ cdef extern from "numpy/arrayobject.h": ...@@ -341,7 +341,6 @@ cdef extern from "numpy/arrayobject.h":
PyObject_Free(info.strides) PyObject_Free(info.strides)
# info.shape was stored after info.strides in the same block # info.shape was stored after info.strides in the same block
ctypedef unsigned char npy_bool ctypedef unsigned char npy_bool
ctypedef signed char npy_byte ctypedef signed char npy_byte
...@@ -686,7 +685,7 @@ cdef extern from "numpy/arrayobject.h": ...@@ -686,7 +685,7 @@ cdef extern from "numpy/arrayobject.h":
object PyArray_Choose (ndarray, object, ndarray, NPY_CLIPMODE) object PyArray_Choose (ndarray, object, ndarray, NPY_CLIPMODE)
int PyArray_Sort (ndarray, int, NPY_SORTKIND) int PyArray_Sort (ndarray, int, NPY_SORTKIND)
object PyArray_ArgSort (ndarray, int, NPY_SORTKIND) object PyArray_ArgSort (ndarray, int, NPY_SORTKIND)
object PyArray_SearchSorted (ndarray, object, NPY_SEARCHSIDE) object PyArray_SearchSorted (ndarray, object, NPY_SEARCHSIDE, PyObject*)
object PyArray_ArgMax (ndarray, int, ndarray) object PyArray_ArgMax (ndarray, int, ndarray)
object PyArray_ArgMin (ndarray, int, ndarray) object PyArray_ArgMin (ndarray, int, ndarray)
object PyArray_Reshape (ndarray, object) object PyArray_Reshape (ndarray, object)
......
...@@ -7,6 +7,9 @@ cimport cython ...@@ -7,6 +7,9 @@ cimport cython
import re import re
import sys import sys
# initialise NumPy C-API
np.import_array()
def little_endian(): def little_endian():
cdef int endian_detector = 1 cdef int endian_detector = 1
...@@ -947,4 +950,16 @@ def test_broadcast_comparison(np.ndarray[double, ndim=1] a): ...@@ -947,4 +950,16 @@ def test_broadcast_comparison(np.ndarray[double, ndim=1] a):
return a == 0, obj == 0, a == 1, obj == 1 return a == 0, obj == 0, a == 1, obj == 1
include "numpy_common.pxi" @testcase
def test_c_api_searchsorted(np.ndarray arr, other):
"""
>>> arr = np.random.randn(10)
>>> other = np.random.randn(5)
>>> result, expected = test_c_api_searchsorted(arr, other)
>>> (result == expected).all()
True
"""
result = np.PyArray_SearchSorted(arr, other, np.NPY_SEARCHRIGHT, NULL)
expected = arr.searchsorted(other, side="right")
return result, expected
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment