[pypy-svn] r76384 - in pypy/branch/micronumpy/pypy/module/micronumpy: . test
dan at codespeak.net
dan at codespeak.net
Thu Jul 29 01:10:58 CEST 2010
Author: dan
Date: Thu Jul 29 01:10:56 2010
New Revision: 76384
Modified:
pypy/branch/micronumpy/pypy/module/micronumpy/dtype.py
pypy/branch/micronumpy/pypy/module/micronumpy/test/test_numpy.py
Log:
Now passing dtype test, one less xfail.
Modified: pypy/branch/micronumpy/pypy/module/micronumpy/dtype.py
==============================================================================
--- pypy/branch/micronumpy/pypy/module/micronumpy/dtype.py (original)
+++ pypy/branch/micronumpy/pypy/module/micronumpy/dtype.py Thu Jul 29 01:10:56 2010
@@ -12,19 +12,15 @@
self.w_native_type = None
def descr_eq(self, space, w_type):
- if space.eq_w(self.w_native_type, w_type):
- return space.w_True
+ if isinstance(w_type, TypeDescr):
+ other_type = w_type.dtype
+ else:
+ other_type = get(space, w_type)
- try:
- typestr = space.str_w(w_type)
- if self.dtype.typecode == typestr: return space.w_True
- elif self.name == typestr: return space.w_True
- else: return space.w_False
- except OperationError, e:
- if e.match(space, space.w_TypeError): pass
- else: raise
+ typecode = self.dtype.typecode
+ other_typecode = other_type.typecode
- return space.w_False
+ return space.w_True if typecode == other_typecode else space.w_False
descr_eq.unwrap_spec = ['self', ObjSpace, W_Root]
def descr_repr(self, space):
@@ -165,10 +161,16 @@
def from_wrapped_type(space, w_type):
if w_type is space.w_int:
return int_descr
- else:
+ elif w_type is space.w_float:
return float_descr #XXX: only handles two types!
+ else:
+ raise OperationError(space.w_TypeError,
+ space.wrap("unknown type %s" % w_type))
def get(space, w_dtype):
+ if isinstance(w_dtype, TypeDescr):
+ return w_dtype.dtype #FIXME: a little wasteful since we end up just getting the TypeDescr
+
try:
s = space.str_w(w_dtype)
@@ -185,13 +187,6 @@
except OperationError, e:
if e.match(space, space.w_TypeError): pass # XXX: ValueError?
- try:
- i = space.int_w(w_dtype)
- return _descriptors[i]
- except OperationError, e:
- if e.match(space, space.w_TypeError): pass
- else: raise
-
return from_wrapped_type(space, w_dtype)
# FIXME: watch for wrapped typedescrs!
Modified: pypy/branch/micronumpy/pypy/module/micronumpy/test/test_numpy.py
==============================================================================
--- pypy/branch/micronumpy/pypy/module/micronumpy/test/test_numpy.py (original)
+++ pypy/branch/micronumpy/pypy/module/micronumpy/test/test_numpy.py Thu Jul 29 01:10:56 2010
@@ -351,7 +351,6 @@
def setup_class(cls):
cls.space = gettestobjspace(usemodules=('micronumpy',))
- @py.test.mark.xfail
def test_eq(self):
from micronumpy import zeros
More information about the Pypy-commit
mailing list