By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
455,598 Members | 1,508 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 455,598 IT Pros & Developers. It's quick & easy.

Python/Numeric users be aware!

P: n/a
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.
Oct 29 '08 #1
Share this Question
Share on Google+
5 Replies


P: n/a
Confirmed

Benyang 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.
Oct 29 '08 #2

P: n/a
On Wed, Oct 29, 2008 at 1:53 PM, Benyang <be*******@gmail.comwrote:
The Python version is 2.5.1, and Numeric is the latest version 24.2.
While 24.2 is the latest version of Numeric, it's also three years old
and no longer supported. From http://numpy.scipy.org/ - "Numeric was
the first arrayobject built for Python. It has been quite successful
and is used in a wide variety of settings and applications.
Maintenance has ceased for Numeric, and users should transisition to
NumPy as quickly as possible."

So, you are unlikely to find anyone to do bug fixes on Numeric.

--
Jerry
Oct 29 '08 #3

P: n/a
At 2008-10-29T17:53:43Z, Benyang <be*******@gmail.comwrites:
It is totally screwed up on 64-bit linux machines:
[1 1 1 1 1 1 1 1 1 1]
And on 64-bit FreeBSD machines.
--
Kirk Strauser
The Day Companies
Oct 29 '08 #4

P: n/a
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 <benyan...@gmail.comwrote:
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.
Oct 29 '08 #5

P: n/a
Benyang Tang wrote:
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
Python 2.5.1 introduced the use of Py_ssize_t for indices. Previously, those
functions took C ints. Numeric 24.2 predates Python 2.5 substantially.

--
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth."
-- Umberto Eco

Oct 29 '08 #6

This discussion thread is closed

Replies have been disabled for this discussion.