On Mi, 2016-09-07 at 09:22 -0700, Nathaniel Smith wrote: > On Sep 7, 2016 9:03 AM, "Sebastian Berg" <sebast...@sipsolutions.net> > wrote: > > > > Hi all, > > > > Pauli just opened a nice pull request [1] to add overlap detection > to > > the new iterator, this means adding a new iterator flag: > > > > `NPY_ITER_COPY_IF_OVERLAP` > > > > If passed to the iterator (also exposed in python), the iterator > will > > copy the operands such that reading and writing should only occur > for > > identical operands. For now this is implemented by always copying > the > > output/writable operand (this could be improved though, so I would > not > > say its fixed API). > I wonder if there is any way we can avoid the flag, and just make > this happen automatically when appropriate? nditer has too many > "unbreak-me" flags already. > Are there any cases where we *don't* want the copy-if-overlap > behavior? Traditionally overlap has triggered undefined behavior, so > there's no backcompat issue, right?
Puh, I remember weird abuses, that sometimes stopped working. Even just adding it to ufuncs might destroy some weird cases in someones script.... Whether or not we can just make it default, might be worth thinking about it. What do downstream projects that use the API think? My guess is that would be projects such as numexpr, numba, or I think theano? Maybe another approach is to think about some other way to make good defaults to the iterator easier/saner. Heck, I wonder if we would default to things like "zero size ok" and warned about it, anyone would notice unless as in: Oh I should make it zero size ok ;). - Sebastian > -n > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion@scipy.org > https://mail.scipy.org/mailman/listinfo/numpy-discussion
signature.asc
Description: This is a digitally signed message part
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org https://mail.scipy.org/mailman/listinfo/numpy-discussion