[Numpy-discussion] why numarray.inputarray?
Todd Miller
jmiller at stsci.edu
Wed Feb 11 10:58:35 CST 2004
On Tue, 2004-02-10 at 16:17, Colin J. Williams wrote:
> Todd Miller wrote:
>
> >On Tue, 2004-02-10 at 09:31, Colin J. Williams wrote:
> >
> >
> >>Tim Hochberg wrote:
> >>
> >>
> >>
> >>>I just noticed that the name asarray is considered obsolete and is to
> >>>be replaced with inputarray. Why is that? The name asarray has a
> >>>pretty clear connection with it's behaviour (return it's argument as
> >>>an array), while I can come up with no such connection for inputarray.
> >>>The best I can come up with is that it's often used on the inputs of
> >>>functions to coerce them to arrays, but that seems a pretty tenuous
> >>>connection. Is there a better reason? Am I just being obtuse?
> >>>
> >>>-tim
> >>>
> >>>
> >>I agree that the term asarray better describes the functionality.
> >>
> >>One possible use would be to convert an instance of a sub-class of
> >>NumArray into an instance of the class NumArray. However, it doesn't do
> >>that.
> >>
> >>It would help if there were a clearer distinction between the functions
> >>array and inputarray. The former would appear to cast a wider net and,
> >>among other things, include files.
> >>
> >>
> >
> >This is a mess, I have to agree. The most important distinction is that
> >array() makes a copy of an array by default, while
> >inputarray()/asarray() does not.
> >
> >
> >
> >>I wonder whether there is a need for both array and input array,
> >>wouldn't it be best to focus on the function with the more general utility?
> >>
> >>
> >Based on your input, and Tim Hochberg's earlier comments, I think we
> >should:
> >
> >1. Clean up the array function by ditching the buffer/sequence keyword
> >deprecation code. buffer has been deprecated long enough.
> >
> Good! Although it means some changes in my not fully tested code. I
> believe that sequence can also be a buffer, as long as type and shape
> are also provided. I haven't yet tried this.
>
> >
> >2. Redefine asarray() as calling array() with copy=1. Tim's right.
> >It's a better name than inputarray() and we want it for backward
> >compatibility anyway.
> >
> Good! Although it would be good to make provision for this to convert a
> sub-class instance into an instance of NumArray, something like:
> if instance(sequence, NumArray):
> if sequence.__class__ != NumArray.__class__:
> sequence.__class__ = NumArray.__class__
> copy= True
I'd like to hear more opinions on this.
> >
> >3. Redefine inputarray() as a non-recommended synonym for asarray().
> >I'd say deprecate it, but that's a PITA for anyone already using it.
> >
> >
> It wouldn't be that much of a pain if the deprecation were in the
> documentation only and put into the code after say a year.
Consider it done and get back to me in a year.
>
> >4. Change the manual to document asarray() as primary and document
> >inputarray() as a non-recommended synonym.
> >
> Yes. Incidentally, what is the current status of the documentation?
> The last time I looked, it was for version 0.7.
>
JC Hsu did a lot of work revising the manual. I just posted the new
version on Source Forge as part of the 0.8 file release.
Todd
--
Todd Miller <jmiller at stsci.edu>
More information about the Numpy-discussion
mailing list