[Numpy-discussion] Add guaranteed no-copy to array creation and reshape?
ralf.gommers at gmail.com
Thu Jan 10 23:27:47 EST 2019
On Thu, Jan 10, 2019 at 11:21 AM Feng Yu <rainwoodman at gmail.com> wrote:
> Hi Todd,
> I agree a flag is more suitable than classes.
> I would add another bonus of a flag than a function argument is to avoid
> massive contamination of function signatures for a global variation of
> behavior that affects many functions.
I like this suggestion. Copy behavior fits very nicely with existing flags
(e.g. UPDATEIFCOPY, WRITEABLE) and avoids both namespace pollution and
> On Wed, Jan 9, 2019 at 11:34 PM Todd <toddrjen at gmail.com> wrote:
>> On Mon, Jan 7, 2019, 14:22 Feng Yu <rainwoodman at gmail.com wrote:
>>> Was it ever brought up the possibility of a new array class (ndrefonly,
>>> ndview) that is strictly no copy?
>>> All operations on ndrefonly will return ndrefonly and if the operation
>>> cannot be completed without making a copy, it shall throw an error.
>>> On the implementation there are two choices if we use subclasses:
>>> - ndrefonly can be a subclass of ndarray. The pattern would be subclass
>>> limiting functionality of super, but ndrefonly is a ndarray.
>>> - ndarray as a subclass of ndarray. Subclass supplements functionality
>>> of super. : ndarray will not throw an error when a copy is necessary.
>>> However ndarray is not a ndarray.
>>> If we want to be wild they do not even need to be subclasses of each
>>> other, or maybe they shall both be subclasses of something more
>>> - Yu
>> I would prefer a flag for this. Someone can make an array read-only by
>> setting `arr.flags.writable=False`. So along those lines, we could have a
>> `arr.flags.copyable` flag that if set to `False` would result in an error
>> of any operation tried to copy the data.
>> NumPy-Discussion mailing list
>> NumPy-Discussion at python.org
> NumPy-Discussion mailing list
> NumPy-Discussion at python.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the NumPy-Discussion