[Numpy-discussion] abs for max negative integers - desired behavior?

Matthew Brett matthew.brett@gmail....
Tue Oct 11 14:51:32 CDT 2011


Hi

On Tue, Oct 11, 2011 at 3:16 PM, Charles R Harris
<charlesr.harris@gmail.com> wrote:
>
>
> On Tue, Oct 11, 2011 at 12:23 PM, Matthew Brett <matthew.brett@gmail.com>
> wrote:
>>
>> Hi,
>>
>> I recently ran into this:
>>
>> In [68]: arr = np.array(-128, np.int8)
>>
>> In [69]: arr
>> Out[69]: array(-128, dtype=int8)
>>
>> In [70]: np.abs(arr)
>> Out[70]: -128
>>
>
> This has come up for discussion before, but no consensus was ever reached.
> One solution is for abs to return an unsigned type, but then combining that
> with signed type of the same number of bits will cause both to be cast to
> higher precision. IIRC, matlab was said to return +127 as abs(-128), which,
> if true, is quite curious.

octave-3.2.3:1> a = int8([-128, 127])
a =

  -128  127

octave-3.2.3:2> abs(a)
ans =

  127  127

Matlab is the same.  That is curious...

See you,

Matthew


More information about the NumPy-Discussion mailing list