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

Robert Kern robert.kern at gmail.com
Thu Aug 27 15:46:33 EDT 2009


On Thu, Aug 27, 2009 at 12:43, Charles R
Harris<charlesr.harris at gmail.com> wrote:
>
>
> On Thu, Aug 27, 2009 at 1:27 PM, Robert Kern <robert.kern at gmail.com> wrote:
>>
>> On Thu, Aug 27, 2009 at 11:24, Charles R
>> Harris<charlesr.harris at gmail.com> wrote:
>> > I'm thinking double. There is a potential loss of precision for 64 bit
>> > ints
>> > but nothing else seems reasonable for a default. Thoughts?
>>
>> Python int / Python int => Python float
>>
>> no matter how many decimal places the two ints have. I also say double.
>
> What about //?
>
> In [1]: x = ones(1, dtype=uint64)
>
> In [2]: y = ones(1, dtype=int64)
>
> In [3]: floor_divide(x,y).dtype
> Out[3]: dtype('float64')

Ewww. It should be an appropriate integer type. Probably whatever x*y is.

-- 
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless
enigma that is made terrible by our own mad attempt to interpret it as
though it had an underlying truth."
  -- Umberto Eco



More information about the NumPy-Discussion mailing list