[Numpy-discussion] What type should / return in python 3k when applied to two integer types?

Neal Becker ndbecker2@gmail....
Fri Aug 28 09:46:45 CDT 2009


Charles R Harris wrote:

> On Fri, Aug 28, 2009 at 8:08 AM, <josef.pktd@gmail.com> wrote:
> 
>> On Fri, Aug 28, 2009 at 9:55 AM, Pauli Virtanen<pav@iki.fi> wrote:
>> > Fri, 28 Aug 2009 09:46:39 -0400, Neal Becker kirjoitti:
>> >
>> >> Robert Kern wrote:
>> >>
>> >>> On Thu, Aug 27, 2009 at 14:22, Christopher
>> >>> Barker<Chris.Barker@noaa.gov> wrote:
>> >>>
>> >>>> By the way -- is there something about py3k that changes all this?
>> >>>> Or is this just an opportunity to perhaps make some
>> >>>> backward-incompatible changes to numpy?
>> >>>
>> >>> Python 3 makes the promised change of int/int => float.
>> >>
>> >> Does that mean that we want numpy to do the same?  I'm not so sure.
>> >> Sounds like opening a can of worms (numpy has more types to worry
>> >> about
>> >> than just int and float.  If we start playing strange games we may
>> >> regret it.)
>> >
>> > I believe we want to. This is not really a strange trick: it's just
>> > that in Python 3, the operator / is true_division, and // is
>> > floor_division. I believe any worms released by this are mostly small
>> > and tasty...
>> >
>> > The main issue is probably just choosing an appropriate float return
>> > type, and personally I believe this should be same as numpy's default
>> > float.
>>
>> and getting the infs and nans as in true float division not as in
>> np.true_divide
>>
> 
> Umm, good point.
> 
> Chuck

explicit is better than implicit.  IMO, if I want int/int-> float, I should 
ask for it explicitly, by casting the ints to float first (in numpy, that 
would be using astype).



More information about the NumPy-Discussion mailing list