[Numpy-discussion] Re: Why floor and ceil change the type of the array?
Sasha
ndarray at mac.com
Wed Feb 22 20:49:08 CST 2006
On 2/22/06, Robert Kern <robert.kern at gmail.com> wrote:
> Sasha wrote:
> > ... wouldn't it
> > be more natural if fllor and ceil return the argument unchanged (maybe
> > a copy) if it is already integer?
>
> Only if floor() and ceil() returned integer arrays when given floats as input. I
> presume there are good reasons for this, since it's the same behavior as the
> standard C functions.
C does not have ceil(int). It has
double ceil(double x);
float ceilf(float x);
long double ceill(long double x);
and neither of these functions change the type of the argument.
Numpy's "around" is a noop on integers (even for decimals<0, but
that's a different story.
I cannot really think of any reason for the current numpy behaviour
other than the consistency with transcendental functions. Speaking of
which, can someone explain this:
>>> sin(array(1,'h')).dtype
dtype('<f4')
>>> sin(array(1,'i')).dtype
dtype('<f8')
More information about the Numpy-discussion
mailing list