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

Matthew Brett matthew.brett at gmail.com
Tue Oct 11 15:36:23 EDT 2011


Hi,

On Tue, Oct 11, 2011 at 3:16 PM, Charles R Harris
<charlesr.harris at gmail.com> wrote:
>
>
> On Tue, Oct 11, 2011 at 12:23 PM, Matthew Brett <matthew.brett at 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.

Ah - sorry - I think I missed the previous discussion.

The conversion to unsigned seemed like an great improvement.  Are you
saying that the cost down the line is an increase in memory use for
arrays which are then combined with a signed type?   That seems like a
reasonable trade-off to me.   Was that the main objection?

See you,

Matthew



More information about the NumPy-Discussion mailing list