[pypy-commit] pypy remove-numpypy: merge default
bdkearns
noreply at buildbot.pypy.org
Wed Oct 30 07:57:14 CET 2013
Author: Brian Kearns <bdkearns at gmail.com>
Branch: remove-numpypy
Changeset: r67728:b2fb28281ff1
Date: 2013-10-30 02:56 -0400
http://bitbucket.org/pypy/pypy/changeset/b2fb28281ff1/
Log: merge default
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
@@ -14,6 +14,7 @@
from pypy.interpreter.mixedmodule import MixedModule
from rpython.rtyper.lltypesystem import lltype
from rpython.rlib.rstring import StringBuilder
+from pypy.module.micronumpy.constants import *
MIXIN_32 = (int_typedef,) if LONG_BIT == 32 else ()
@@ -352,16 +353,12 @@
descr__new__, _get_dtype, descr_reduce = new_dtype_getter("complex128")
_COMPONENTS_BOX = W_Float64Box
-if long_double_size == 8:
- W_FloatLongBox = W_Float64Box
- W_ComplexLongBox = W_Complex128Box
-
-elif long_double_size in (12, 16):
+if long_double_size in (8, 12, 16):
class W_FloatLongBox(W_FloatingBox, PrimitiveBox):
- descr__new__, _get_dtype, descr_reduce = new_dtype_getter("float%d" % (long_double_size * 8))
+ descr__new__, _get_dtype, descr_reduce = new_dtype_getter(NPY_LONGDOUBLELTR)
class W_ComplexLongBox(ComplexBox, W_ComplexFloatingBox):
- descr__new__, _get_dtype, descr_reduce = new_dtype_getter("complex%d" % (long_double_size * 16))
+ descr__new__, _get_dtype, descr_reduce = new_dtype_getter(NPY_CLONGDOUBLELTR)
_COMPONENTS_BOX = W_FloatLongBox
class W_FlexibleBox(W_GenericBox):
@@ -651,7 +648,7 @@
imag = GetSetProperty(W_ComplexFloatingBox.descr_get_imag),
)
-if long_double_size in (12, 16):
+if long_double_size in (8, 12, 16):
W_FloatLongBox.typedef = TypeDef("float%d" % (long_double_size * 8), (W_FloatingBox.typedef),
__module__ = "numpypy",
__new__ = interp2app(W_FloatLongBox.descr__new__.im_func),
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
@@ -345,7 +345,8 @@
return W_NDimArray(self.implementation.transpose(self))
def descr_transpose(self, space, args_w):
- if len(args_w) != 0:
+ if not (len(args_w) == 0 or
+ len(args_w) == 1 and space.is_none(args_w[0])):
raise OperationError(space.w_NotImplementedError, space.wrap(
"axes unsupported for transpose"))
return self.descr_get_transpose(space)
diff --git a/pypy/module/micronumpy/test/test_dtypes.py b/pypy/module/micronumpy/test/test_dtypes.py
--- a/pypy/module/micronumpy/test/test_dtypes.py
+++ b/pypy/module/micronumpy/test/test_dtypes.py
@@ -642,6 +642,11 @@
assert numpy.intp is numpy.int64
assert numpy.uintp is numpy.uint64
+ assert issubclass(numpy.float64, numpy.floating)
+ assert issubclass(numpy.longfloat, numpy.floating)
+ assert not issubclass(numpy.float64, numpy.longfloat)
+ assert not issubclass(numpy.longfloat, numpy.float64)
+
def test_mro(self):
import numpypy as numpy
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
@@ -2169,6 +2169,7 @@
b = a.T
assert(b[:, 0] == a[0, :]).all()
assert (a.transpose() == b).all()
+ assert (a.transpose(None) == b).all()
import sys
if '__pypy__' in sys.builtin_module_names:
raises(NotImplementedError, a.transpose, (1, 0, 2))
diff --git a/pypy/module/micronumpy/types.py b/pypy/module/micronumpy/types.py
--- a/pypy/module/micronumpy/types.py
+++ b/pypy/module/micronumpy/types.py
@@ -1562,8 +1562,15 @@
ComponentBoxType = interp_boxes.W_Float64Box
if interp_boxes.long_double_size == 8:
- FloatLong = Float64
- ComplexLong = Complex128
+ class FloatLong(BaseType, Float):
+ T = rffi.DOUBLE
+ BoxType = interp_boxes.W_FloatLongBox
+ format_code = "d"
+
+ class ComplexLong(ComplexFloating, BaseType):
+ T = rffi.DOUBLE
+ BoxType = interp_boxes.W_ComplexLongBox
+ ComponentBoxType = interp_boxes.W_Float64Box
elif interp_boxes.long_double_size in (12, 16):
class FloatLong(BaseType, Float):
More information about the pypy-commit
mailing list