[Numpy-discussion] Revised NEP-18, __array_function__ protocol
wieser.eric+numpy at gmail.com
Fri Jun 29 21:54:38 EDT 2018
I think the latter failing is because np.add.reduce ends up calling
np.ufunc.reduce.__get__(np.add), and builtin_function.__get__ doesn’t
appear to do any caching. I suppose caching bound methods would just be a
waste of time.
== would work just fine in my suggestion above, it seems - irrespective of
the resolution of the discussion on python-dev.
On Fri, 29 Jun 2018 at 18:24 Stephan Hoyer <shoyer at gmail.com> wrote:
> On Thu, Jun 28, 2018 at 5:36 PM Eric Wieser <wieser.eric+numpy at gmail.com>
>> Another option would be to directly compare the methods against known
>> obj = func.__self__
>> if isinstance(obj, np.ufunc):
>> if func is obj.reduce:
>> I'm not quite sure why, but this doesn't seem to work with current ufunc
> >>> np.add.reduce == np.add.reduce # OK
> >>> np.add.reduce is np.add.reduce # what?!?
> Maybe this is a bug? There's been some somewhat related discussion
> recently on python-dev:
> NumPy-Discussion mailing list
> NumPy-Discussion at python.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the NumPy-Discussion