Author: Brian Kearns <[email protected]>
Branch:
Changeset: r70682:be03fa07697d
Date: 2014-04-17 01:22 -0400
http://bitbucket.org/pypy/pypy/changeset/be03fa07697d/
Log: support astype in micronumpy compile
diff --git a/pypy/module/micronumpy/compile.py
b/pypy/module/micronumpy/compile.py
--- a/pypy/module/micronumpy/compile.py
+++ b/pypy/module/micronumpy/compile.py
@@ -37,7 +37,7 @@
"unegative", "flat", "tostring","count_nonzero",
"argsort"]
TWO_ARG_FUNCTIONS = ["dot", 'take']
-TWO_ARG_FUNCTIONS_OR_NONE = ['view']
+TWO_ARG_FUNCTIONS_OR_NONE = ['view', 'astype']
THREE_ARG_FUNCTIONS = ['where']
class W_TypeObject(W_Root):
@@ -596,6 +596,8 @@
arg = self.args[1].execute(interp)
if self.name == 'view':
w_res = arr.descr_view(interp.space, arg)
+ elif self.name == 'astype':
+ w_res = arr.descr_astype(interp.space, arg)
else:
assert False
else:
diff --git a/pypy/module/micronumpy/test/test_compile.py
b/pypy/module/micronumpy/test/test_compile.py
--- a/pypy/module/micronumpy/test/test_compile.py
+++ b/pypy/module/micronumpy/test/test_compile.py
@@ -319,3 +319,14 @@
''')
results = interp.results[0]
assert isinstance(results, W_NDimArray)
+
+ def test_astype_dtype(self):
+ interp = self.run('''
+ a = [1, 0, 3, 0]
+ b = int
+ c = astype(a, b)
+ c
+ ''')
+ results = interp.results[0]
+ assert isinstance(results, W_NDimArray)
+ assert results.get_dtype().is_int()
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit