[pypy-commit] pypy default: fix this assert

bdkearns noreply at buildbot.pypy.org
Tue Feb 25 08:37:13 CET 2014


Author: Brian Kearns <bdkearns at gmail.com>
Branch: 
Changeset: r69406:66521897312a
Date: 2014-02-25 02:13 -0500
http://bitbucket.org/pypy/pypy/changeset/66521897312a/

Log:	fix this assert

diff --git a/pypy/module/micronumpy/interp_boxes.py b/pypy/module/micronumpy/interp_boxes.py
--- a/pypy/module/micronumpy/interp_boxes.py
+++ b/pypy/module/micronumpy/interp_boxes.py
@@ -52,7 +52,7 @@
     def descr_reduce(self, space):
         return self.reduce(space)
 
-    return (func_with_new_name(descr__new__, 'box_descr__new__%d' % num),
+    return (func_with_new_name(descr__new__, 'descr__new__%d' % num),
             staticmethod(_get_dtype),
             descr_reduce)
 
diff --git a/pypy/module/micronumpy/interp_dtype.py b/pypy/module/micronumpy/interp_dtype.py
--- a/pypy/module/micronumpy/interp_dtype.py
+++ b/pypy/module/micronumpy/interp_dtype.py
@@ -121,10 +121,11 @@
         return self.byteorder in (NPY.NATIVE, NPY.NATBYTE)
 
     def get_float_dtype(self, space):
-        assert isinstance(self.itemtype, types.ComplexFloating)
-        dtype = self.itemtype.ComponentBoxType._get_dtype(space)
+        assert self.is_complex()
+        dtype = get_dtype_cache(space).component_dtypes[self.num]
         if self.byteorder == NPY.OPPBYTE:
             dtype = dtype.descr_newbyteorder(space)
+        assert dtype.is_float()
         return dtype
 
     def get_name(self):
@@ -834,6 +835,11 @@
                         self.w_float64dtype, self.w_floatlongdtype]
         complex_dtypes = [self.w_complex64dtype, self.w_complex128dtype,
                           self.w_complexlongdtype]
+        self.component_dtypes = {
+            NPY.CFLOAT:      self.w_float32dtype,
+            NPY.CDOUBLE:     self.w_float64dtype,
+            NPY.CLONGDOUBLE: self.w_floatlongdtype,
+        }
         self.builtin_dtypes = [
             self.w_booldtype,
             self.w_int8dtype, self.w_uint8dtype,


More information about the pypy-commit mailing list