Hi All,
This post is to open a discussion of the future of ufuncs. There are two contradictory ideas that have floated about regarding ufuncs evolution. One is to generalize ufuncs to operate on buffers,
essentially separating them from their current entanglement with ndarrays
. The other is to accept that they are fundamentally part of the ndarray
universe and move them into the multiarray module, thus avoiding the odd overloading of functions in the multiarray
module. The first has been a long time proposal that I once thought sounded
good, but I've come to prefer the
second. That change of mind was driven by the resulting code
simplification and the removal of a dependence on a Python feature,
buffers, that we cannot easily modify to adapt to changing needs and
new dtypes. Because I'd like to move the ufuncs, if we decide to move them, sometime after NumPy 1.14 is released, now seems a good time to decide the issue.
Thoughts?
Chuck