Hi Ralf, others,
>> Anyway, I guess this is still a good example to consider for how we >> should go about getting to a new implementation, ideally with just a >> single-way to override? >> >> Indeed, how do we actually envisage deprecating the use of >> `__array_function__` for a given part of the numpy API? Are we allowed to >> go cold-turkey if the new implementation is covered by `__array_ufunc__`? >> > > I think __array_function__ is still the best way to do this (that's the > only actual override, so most robust and performant likely), so I don't see > any reason for a deprecation. > > Yes, I fear I have to agree for the nan-functions, at least for now... But how about `np.sum` itself? Right now, it is overridden by __array_function__ but classes without __array_function__ support can also override it through the method lookup and through __array_ufunc__. Would/should there be a point where we just have `sum = np.add.reduce` and drop other overrides? If so, how do we get there? One option might be start reversing the order in `_wrapreduction` - try `__array_ufunc__` if it is defined and only if that fails try the `.sum` method. All the best, Marten
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@python.org https://mail.python.org/mailman/listinfo/numpy-discussion