Commit 5d354540 authored by Stefan Behnel's avatar Stefan Behnel

merge 0.22.x branch into master

parents 71eb7216 65408e6c
# mode: run
import sys
IS_PY3 = sys.version_info[0] >= 3
IS_32BIT_PY2 = not IS_PY3 and sys.maxint < 2**32
def unlongify(v):
# on 32bit Py2.x platforms, 'unsigned int' coerces to a Python long => fix doctest output here.
s = repr(v)
if IS_32BIT_PY2:
assert s.count('L') == s.count(',') + 1, s
s = s.replace('L', '')
return s
def from_int_array():
"""
......@@ -30,8 +45,8 @@ cdef extern from "stdint.h":
def from_typedef_int_array():
"""
>>> from_typedef_int_array()
[1, 2, 3]
>>> unlongify(from_typedef_int_array())
'[1, 2, 3]'
"""
cdef uint32_t[3] v
v[0] = 1
......@@ -42,8 +57,8 @@ def from_typedef_int_array():
cpdef tuple tuple_from_typedef_int_array():
"""
>>> tuple_from_typedef_int_array()
(1, 2, 3)
>>> unlongify(tuple_from_typedef_int_array())
'(1, 2, 3)'
"""
cdef uint32_t[3] v
v[0] = 1
......
......@@ -5,6 +5,17 @@ cimport cython
import sys
IS_PY3 = sys.version_info[0] >= 3
IS_32BIT_PY2 = not IS_PY3 and sys.maxint < 2**32
def unlongify(v):
# on 32bit Py2.x platforms, 'unsigned int' coerces to a Python long => fix doctest output here.
s = repr(v)
if IS_32BIT_PY2:
assert s.count('L') == s.count(',') + 1, s
s = s.replace('L', '')
return s
def _reversed(it):
return list(it)[::-1]
......@@ -764,10 +775,10 @@ def reversed_bytes_slice_step_only(bytes s):
@cython.test_assert_path_exists('//ForFromStatNode')
def reversed_unsigned(int a, int b):
"""
>>> reversed_unsigned(0, 5)
[4, 3, 2, 1, 0]
>>> reversed_unsigned(1, 5)
[4, 3, 2, 1]
>>> unlongify(reversed_unsigned(0, 5))
'[4, 3, 2, 1, 0]'
>>> unlongify(reversed_unsigned(1, 5))
'[4, 3, 2, 1]'
>>> reversed_unsigned(1, 1)
[]
"""
......@@ -777,10 +788,10 @@ def reversed_unsigned(int a, int b):
@cython.test_assert_path_exists('//ForFromStatNode')
def reversed_unsigned_by_3(int a, int b):
"""
>>> reversed_unsigned_by_3(0, 5)
[3, 0]
>>> reversed_unsigned_by_3(0, 7)
[6, 3, 0]
>>> unlongify(reversed_unsigned_by_3(0, 5))
'[3, 0]'
>>> unlongify(reversed_unsigned_by_3(0, 7))
'[6, 3, 0]'
"""
cdef unsigned int i
return [i for i in reversed(range(a, b, 3))]
......@@ -788,10 +799,10 @@ def reversed_unsigned_by_3(int a, int b):
@cython.test_assert_path_exists('//ForFromStatNode')
def range_unsigned_by_neg_3(int a, int b):
"""
>>> range_unsigned_by_neg_3(-1, 6)
[6, 3, 0]
>>> range_unsigned_by_neg_3(0, 7)
[7, 4, 1]
>>> unlongify(range_unsigned_by_neg_3(-1, 6))
'[6, 3, 0]'
>>> unlongify(range_unsigned_by_neg_3(0, 7))
'[7, 4, 1]'
"""
cdef unsigned int i
return [i for i in range(b, a, -3)]
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment