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

josef.pktd@gmai... josef.pktd@gmai...
Tue Oct 11 18:33:44 CDT 2011

```On Tue, Oct 11, 2011 at 7:13 PM, Benjamin Root <ben.root@ou.edu> wrote:
> On Tue, Oct 11, 2011 at 2:51 PM, Matthew Brett <matthew.brett@gmail.com>
> wrote:
>>
>> 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
>
> Well, it _is_ only off by 0.78%. That should be good enough for government
> work, right?

So, which government is using numpy, only off by 200%

Josef

>
> Ben Root
>
>
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion@scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>
>
```