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(): def from_int_array():
""" """
...@@ -30,8 +45,8 @@ cdef extern from "stdint.h": ...@@ -30,8 +45,8 @@ cdef extern from "stdint.h":
def from_typedef_int_array(): def from_typedef_int_array():
""" """
>>> from_typedef_int_array() >>> unlongify(from_typedef_int_array())
[1, 2, 3] '[1, 2, 3]'
""" """
cdef uint32_t[3] v cdef uint32_t[3] v
v[0] = 1 v[0] = 1
...@@ -42,8 +57,8 @@ def from_typedef_int_array(): ...@@ -42,8 +57,8 @@ def from_typedef_int_array():
cpdef tuple tuple_from_typedef_int_array(): cpdef tuple tuple_from_typedef_int_array():
""" """
>>> tuple_from_typedef_int_array() >>> unlongify(tuple_from_typedef_int_array())
(1, 2, 3) '(1, 2, 3)'
""" """
cdef uint32_t[3] v cdef uint32_t[3] v
v[0] = 1 v[0] = 1
......
...@@ -5,6 +5,17 @@ cimport cython ...@@ -5,6 +5,17 @@ cimport cython
import sys import sys
IS_PY3 = sys.version_info[0] >= 3 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): def _reversed(it):
return list(it)[::-1] return list(it)[::-1]
...@@ -764,10 +775,10 @@ def reversed_bytes_slice_step_only(bytes s): ...@@ -764,10 +775,10 @@ def reversed_bytes_slice_step_only(bytes s):
@cython.test_assert_path_exists('//ForFromStatNode') @cython.test_assert_path_exists('//ForFromStatNode')
def reversed_unsigned(int a, int b): def reversed_unsigned(int a, int b):
""" """
>>> reversed_unsigned(0, 5) >>> unlongify(reversed_unsigned(0, 5))
[4, 3, 2, 1, 0] '[4, 3, 2, 1, 0]'
>>> reversed_unsigned(1, 5) >>> unlongify(reversed_unsigned(1, 5))
[4, 3, 2, 1] '[4, 3, 2, 1]'
>>> reversed_unsigned(1, 1) >>> reversed_unsigned(1, 1)
[] []
""" """
...@@ -777,10 +788,10 @@ def reversed_unsigned(int a, int b): ...@@ -777,10 +788,10 @@ def reversed_unsigned(int a, int b):
@cython.test_assert_path_exists('//ForFromStatNode') @cython.test_assert_path_exists('//ForFromStatNode')
def reversed_unsigned_by_3(int a, int b): def reversed_unsigned_by_3(int a, int b):
""" """
>>> reversed_unsigned_by_3(0, 5) >>> unlongify(reversed_unsigned_by_3(0, 5))
[3, 0] '[3, 0]'
>>> reversed_unsigned_by_3(0, 7) >>> unlongify(reversed_unsigned_by_3(0, 7))
[6, 3, 0] '[6, 3, 0]'
""" """
cdef unsigned int i cdef unsigned int i
return [i for i in reversed(range(a, b, 3))] return [i for i in reversed(range(a, b, 3))]
...@@ -788,10 +799,10 @@ def reversed_unsigned_by_3(int a, int b): ...@@ -788,10 +799,10 @@ def reversed_unsigned_by_3(int a, int b):
@cython.test_assert_path_exists('//ForFromStatNode') @cython.test_assert_path_exists('//ForFromStatNode')
def range_unsigned_by_neg_3(int a, int b): def range_unsigned_by_neg_3(int a, int b):
""" """
>>> range_unsigned_by_neg_3(-1, 6) >>> unlongify(range_unsigned_by_neg_3(-1, 6))
[6, 3, 0] '[6, 3, 0]'
>>> range_unsigned_by_neg_3(0, 7) >>> unlongify(range_unsigned_by_neg_3(0, 7))
[7, 4, 1] '[7, 4, 1]'
""" """
cdef unsigned int i cdef unsigned int i
return [i for i in range(b, a, -3)] 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