[pypy-commit] pypy default: merged upstream.
alex_gaynor
noreply at buildbot.pypy.org
Fri Jul 29 19:51:38 CEST 2011
Author: Alex Gaynor <alex.gaynor at gmail.com>
Branch:
Changeset: r46092:ffbcbca32e2b
Date: 2011-07-29 10:51 -0700
http://bitbucket.org/pypy/pypy/changeset/ffbcbca32e2b/
Log: merged upstream.
diff --git a/pypy/module/micronumpy/interp_numarray.py b/pypy/module/micronumpy/interp_numarray.py
--- a/pypy/module/micronumpy/interp_numarray.py
+++ b/pypy/module/micronumpy/interp_numarray.py
@@ -187,17 +187,17 @@
def _getnums(self, comma):
if self.find_size() > 1000:
nums = [
- float2string(self.getitem(index))
+ float2string(self.eval(index))
for index in range(3)
]
nums.append("..." + "," * comma)
nums.extend([
- float2string(self.getitem(index))
+ float2string(self.eval(index))
for index in range(self.find_size() - 3, self.find_size())
])
else:
nums = [
- float2string(self.getitem(index))
+ float2string(self.eval(index))
for index in range(self.find_size())
]
return nums
@@ -229,7 +229,7 @@
start, stop, step, slice_length = space.decode_index4(w_idx, self.find_size())
if step == 0:
# Single index
- return space.wrap(self.get_concrete().getitem(start))
+ return space.wrap(self.get_concrete().eval(start))
else:
# Slice
res = SingleDimSlice(start, stop, step, slice_length, self, self.signature.transition(SingleDimSlice.static_signature))
@@ -416,14 +416,12 @@
# in fact, ViewArray never gets "concrete" as it never stores data.
# This implementation is needed for BaseArray getitem/setitem to work,
# can be refactored.
+ self.parent.get_concrete()
return self
def eval(self, i):
return self.parent.eval(self.calc_index(i))
- def getitem(self, item):
- return self.parent.getitem(self.calc_index(item))
-
@unwrap_spec(item=int, value=float)
def setitem(self, item, value):
return self.parent.setitem(self.calc_index(item), value)
@@ -497,9 +495,6 @@
def descr_len(self, space):
return space.wrap(self.size)
- def getitem(self, item):
- return self.storage[item]
-
def setitem(self, item, value):
self.invalidated()
self.storage[item] = value
diff --git a/pypy/module/micronumpy/test/test_numarray.py b/pypy/module/micronumpy/test/test_numarray.py
--- a/pypy/module/micronumpy/test/test_numarray.py
+++ b/pypy/module/micronumpy/test/test_numarray.py
@@ -70,6 +70,7 @@
from numpy import array, zeros
a = array(range(5))
assert str(a) == "[0.0 1.0 2.0 3.0 4.0]"
+ assert str((2*a)[:]) == "[0.0 2.0 4.0 6.0 8.0]"
a = zeros(1001)
assert str(a) == "[0.0 0.0 0.0 ..., 0.0 0.0 0.0]"
diff --git a/pypy/module/pypyjit/test_pypy_c/test_misc.py b/pypy/module/pypyjit/test_pypy_c/test_misc.py
--- a/pypy/module/pypyjit/test_pypy_c/test_misc.py
+++ b/pypy/module/pypyjit/test_pypy_c/test_misc.py
@@ -63,6 +63,7 @@
i7 = int_gt(i4, 1)
guard_true(i7, descr=...)
p9 = call(ConstClass(fromint), i4, descr=...)
+ guard_no_exception(descr=...)
p11 = call(ConstClass(rbigint.mul), p5, p9, descr=...)
guard_no_exception(descr=...)
i13 = int_sub(i4, 1)
diff --git a/pypy/translator/jvm/src/pypy/PyPy.java b/pypy/translator/jvm/src/pypy/PyPy.java
--- a/pypy/translator/jvm/src/pypy/PyPy.java
+++ b/pypy/translator/jvm/src/pypy/PyPy.java
@@ -1100,9 +1100,9 @@
if (Double.isNaN(x))
return interlink.recordFloatSigned(x, 0);
- // Infinity: Python throws exception
+ // Infinity: Python returns (inf, 0)
if (Double.isInfinite(x))
- interlink.throwOverflowError();
+ return interlink.recordFloatSigned(x, 0);
// Extract the various parts of the format:
final long e=11, f=52; // number of bits in IEEE format
More information about the pypy-commit
mailing list