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