[pypy-commit] pypy default: add test_pypy_c for flatiter next
bdkearns
noreply at buildbot.pypy.org
Thu Dec 4 22:41:23 CET 2014
Author: Brian Kearns <bdkearns at gmail.com>
Branch:
Changeset: r74815:d62d6a8c4809
Date: 2014-12-04 15:00 -0500
http://bitbucket.org/pypy/pypy/changeset/d62d6a8c4809/
Log: add test_pypy_c for flatiter next
diff --git a/pypy/module/pypyjit/test_pypy_c/test_micronumpy.py b/pypy/module/pypyjit/test_pypy_c/test_micronumpy.py
--- a/pypy/module/pypyjit/test_pypy_c/test_micronumpy.py
+++ b/pypy/module/pypyjit/test_pypy_c/test_micronumpy.py
@@ -78,6 +78,46 @@
jump(p0, p1, p3, p6, p7, p12, p14, f86, p18, i87, i62, p41, i58, p47, i40, i64, i70, descr=...)
""")
+ def test_array_flatiter_next(self):
+ def main():
+ import _numpypy.multiarray as np
+ arr = np.zeros((1024, 16)) + 42
+ ai = arr.flat
+ i = 0
+ while i < arr.size:
+ a = next(ai)
+ i += 1
+ return a
+ log = self.run(main, [])
+ assert log.result == 42.0
+ loop, = log.loops_by_filename(self.filepath)
+ assert loop.match("""
+ i86 = int_lt(i79, i45)
+ guard_true(i86, descr=...)
+ guard_not_invalidated(descr=...)
+ i87 = getfield_gc_pure(p85, descr=<FieldS pypy.module.micronumpy.iterators.IterState.inst_index .+>)
+ i88 = int_ge(i87, i59)
+ guard_false(i88, descr=...)
+ i89 = getfield_gc_pure(p85, descr=<FieldS pypy.module.micronumpy.iterators.IterState.inst_offset .+>)
+ f90 = raw_load(i67, i89, descr=<ArrayF 8>)
+ i91 = int_add(i87, 1)
+ p92 = getfield_gc_pure(p85, descr=<FieldP pypy.module.micronumpy.iterators.IterState.inst__indices .+>)
+ i93 = int_add(i89, i76)
+ i94 = int_add(i79, 1)
+ i95 = getfield_raw(#, descr=<FieldS pypysig_long_struct.c_value 0>)
+ i96 = int_lt(i95, 0)
+ guard_false(i96, descr=...)
+ p97 = new_with_vtable(#)
+ {{{
+ setfield_gc(p97, p56, descr=<FieldP pypy.module.micronumpy.iterators.IterState.inst_iterator .+>)
+ setfield_gc(p97, p92, descr=<FieldP pypy.module.micronumpy.iterators.IterState.inst__indices .+>)
+ setfield_gc(p97, i91, descr=<FieldS pypy.module.micronumpy.iterators.IterState.inst_index .+>)
+ setfield_gc(p97, i93, descr=<FieldS pypy.module.micronumpy.iterators.IterState.inst_offset .+>)
+ setfield_gc(p16, p97, descr=<FieldP pypy.module.micronumpy.flatiter.W_FlatIterator.inst_state .+>)
+ }}}
+ jump(p0, p1, p3, p6, p12, p14, p16, i94, f90, p26, i45, p97, i59, p56, i67, i76, descr=...)
+ """)
+
def test_array_flatiter_getitem_single(self):
def main():
import _numpypy.multiarray as np
More information about the pypy-commit
mailing list