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?