The Python C-API almost exclusively uses `-1` for errors and I consider
it a wart that some NumPy API uses `NPY_FAIL`/`NPY_SUCCEED`, i would
not do this for new API.

The one exception are all "argument parsing functions".  For those
Python again dictates the use of 0 (NPY_FAIL) and 1 (NPY_SUCCEED).
And while a big exception, yes there is API that should have used the 0
for success and -1 for error convention, but did not...

There is no issue anywhere, mainly because I don't think anyone really
considered changing API, since it would require simply duplicating
functions which is also confusing.

I.e. sure, it's bad, but what is the actionable item?

- Sebastian


On Thu, 2024-10-31 at 11:53 +0000, sverre.hassing--- via NumPy-
Discussion wrote:
> While using the C API to work with Numpy arrays, I came across some
> inconsistencies regarding the return of a success state from various
> Numpy functions. For example, the array iterator functions return
> either NPY_SUCCEED (defined as 1) or NPY_FAIL (defined as 0) to
> indicate whether the function successfully finished. However, various
> of the array functions return -1 on success and 0 on failure. The
> result is similar enough, but I would think it more consistent to use
> NPY_SUCCEED/NPY_FAIL everywhere. As an example, consider the
> documentation pages for the Array API:
> https://numpy.org/doc/stable/reference/c-api/array.html
> and the Array iterator API:
> https://numpy.org/doc/stable/reference/c-api/iterator.html#array-iterator-api
> 
> I hope this is the right place to place this. It is the first time I
> really publicly engage with this kind of thing. This did not seem
> like a bug and the Github page indicated that feature requests should
> go to the mailing list first.
> _______________________________________________
> NumPy-Discussion mailing list -- numpy-discussion@python.org
> To unsubscribe send an email to numpy-discussion-le...@python.org
> https://mail.python.org/mailman3/lists/numpy-discussion.python.org/
> Member address: sebast...@sipsolutions.net
> 


_______________________________________________
NumPy-Discussion mailing list -- numpy-discussion@python.org
To unsubscribe send an email to numpy-discussion-le...@python.org
https://mail.python.org/mailman3/lists/numpy-discussion.python.org/
Member address: arch...@mail-archive.com

Reply via email to