From: Nikhil P. <npa...@Pr...> - 2006-07-03 20:36:22
|
(I sent the following from my gmail account, but that does not seem to have been accepted by sourceforge -- apologies in advance if it shows up twice) Hi, (I saw some discussion of this on the mailing list, but was not sure if there was a solution reached, so I thought I'd ask again....) If I try to use cumsum on a numpy array with the dtype keyword, I get the wrong answer if dtype does not match that of the array. More specifically, Python 2.4.3 (#1, Apr 3 2006, 18:07:18) [GCC 3.3 20030304 (Apple Computer, Inc. build 1666)] on darwin Type "help", "copyright", "credits" or "license" for more information. ->> import numpy ->> numpy.__version__ '0.9.9.2727' ->> a = numpy.arange(10002) ->> a.cumsum(dtype='f4')[-1] 0.0 ->> a.cumsum(dtype='f8')[-1] 0.0 ->> a.cumsum()[-1] 50015001 ->> a.sum() 50015001 ->> a.sum(dtype='f8') 50015001.0 Note that this only seems to affect cumsum(); sum() works just fine. And cumsum works fine for small arrays.... Am I misunderstanding what the dtype keyword in cumsum is, or doing something silly? I should not be overflowing any type bounds (I think...) This is with the SVN numpy, on an iBook G4 running OS X 10.4.6 Thanks in advance, -- Nikhil ------------------------------------ Nikhil Padmanabhan npa...@pr... http://wwwphy.princeton.edu/~npadmana nikhil@(609) 258-4355 |