Python/Numeric users be aware!

2008-10-29 Thread Benyang
Maybe it has been reported somewhere, but it is a big surprise to me.

# Try the following:
import Numeric
a = Numeric.ones(10)
a[5:] = -1
print a

It works correctly on 32-bit linux machines and on 32-bit Windows XP:
[ 1  1  1  1  1 -1 -1 -1 -1 -1]

It is totally screwed up on 64-bit linux machines:
[1 1 1 1 1 1 1 1 1 1]

# The following works correctly on both 32-bit and 64-bit machines
(notice the comma):
a[5:,] *= -1

The Python version is 2.5.1, and Numeric is the latest version 24.2.
--
http://mail.python.org/mailman/listinfo/python-list


Re: Python/Numeric users be aware!

2008-10-29 Thread Benyang Tang
I also found that the a[5:] problem is Python version dependent.

On a 64-bit linux, of the following combinations I have tried, only
the first one has the problem. The other two are ok.
* Python 2.5.1 and Numeric 24.2
* Python 2.4.5 and Numeric 24.2
* Python 2.3.7 and Numeric 24.2

On Oct 29, 10:53 am, Benyang <[EMAIL PROTECTED]> wrote:
> Maybe it has been reported somewhere, but it is a big surprise to me.
>
> # Try the following:
> import Numeric
> a = Numeric.ones(10)
> a[5:] = -1
> print a
>
> It works correctly on 32-bit linux machines and on 32-bit Windows XP:
> [ 1  1  1  1  1 -1 -1 -1 -1 -1]
>
> It is totally screwed up on 64-bit linux machines:
> [1 1 1 1 1 1 1 1 1 1]
>
> # The following works correctly on both 32-bit and 64-bit machines
> (notice the comma):
> a[5:,] *= -1
>
> The Python version is 2.5.1, and Numeric is the latest version 24.2.

--
http://mail.python.org/mailman/listinfo/python-list