[Numpy-discussion] request for new array method: arr.abs()

Bill Baxter wbaxter at gmail.com
Wed Aug 23 18:12:31 CDT 2006


The thing that I find I keep forgetting is that abs() is a built-in, but
other simple functions are not.  So it's abs(foo), but numpy.floor(foo) and
numpy.ceil(foo).  And then there's round() which is a built-in but can't be
used with arrays, so numpy.round_(foo).    Seems like it would be more
consistent to just add a numpy.abs() and numpy.round().

But I guess there's nothing numpy can do about it...  you can't name a
method the same as a built-in function, right?  That's why we have
numpy.round_() instead of numpy.round(), no?
[...goes and checks]
Oh, you *can* name a module function the same as a built-in.  Hmm... so then
why isn't numpy.round_() just numpy.round()?  Is it just so "from numpy
import *" won't hide the built-in?

--bill

On 8/24/06, David M. Cooke <cookedm at physics.mcmaster.ca> wrote:
>
> On Wed, 23 Aug 2006 13:51:02 -0700
> Sebastian Haase <haase at msg.ucsf.edu> wrote:
>
> > Hi!
> > numpy renamed the *function* abs to absolute.
> > Most functions like mean, min, max, average, ...
> > have an equivalent array *method*.
> >
> > Why is absolute left out ?
> > I think it should be added .
>
> We've got __abs__ :-)
>
> > Furthermore, looking at some line  of code that have multiple calls to
> > absolute [ like f(absolute(a), absolute(b), absolute(c)) ]
> > I think "some people" might prefer less typing and less reading,
> > like f( a.abs(), b.abs(), c.abs() ).
>
> > One could even consider not requiring the "function call" parenthesis
> '()'
> > at all - but I don't know about further implications that might have.
>
> eh, no. things that return new arrays should be functions. (As opposed to
> views of existing arrays, like a.T)
>
> > PS: is there any performace hit in using the built-in abs function ?
>
> Shouldn't be: abs(x) looks for the x.__abs__() method (which arrays have).
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://projects.scipy.org/pipermail/numpy-discussion/attachments/20060824/7608b608/attachment.html 


More information about the Numpy-discussion mailing list