Skip to content

Commit 3a2a9d9

Browse files
authored
Merge pull request matplotlib#27595 from anntzer/ishnnbs
Fix is_sorted_and_has_non_nan for byteswapped inputs.
2 parents 8703dc5 + 580740a commit 3a2a9d9

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

lib/matplotlib/tests/test_lines.py

+2
Original file line numberDiff line numberDiff line change
@@ -246,6 +246,8 @@ def test_is_sorted_and_has_non_nan():
246246
assert _path.is_sorted_and_has_non_nan(np.array([1, 2, 3]))
247247
assert _path.is_sorted_and_has_non_nan(np.array([1, np.nan, 3]))
248248
assert not _path.is_sorted_and_has_non_nan([3, 5] + [np.nan] * 100 + [0, 2])
249+
# [2, 256] byteswapped:
250+
assert not _path.is_sorted_and_has_non_nan(np.array([33554432, 65536], ">i4"))
249251
n = 2 * mlines.Line2D._subslice_optim_min_size
250252
plt.plot([np.nan] * n, range(n))
251253

src/_path_wrapper.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -707,8 +707,8 @@ static PyObject *Py_is_sorted_and_has_non_nan(PyObject *self, PyObject *obj)
707707
{
708708
bool result;
709709

710-
PyArrayObject *array = (PyArrayObject *)PyArray_FromAny(
711-
obj, NULL, 1, 1, 0, NULL);
710+
PyArrayObject *array = (PyArrayObject *)PyArray_CheckFromAny(
711+
obj, NULL, 1, 1, NPY_ARRAY_NOTSWAPPED, NULL);
712712

713713
if (array == NULL) {
714714
return NULL;

0 commit comments

Comments
 (0)