Commit f8e18013 authored by Dag Sverre Seljebotn's avatar Dag Sverre Seljebotn

Added test case and fixed bug with unsigned indexing

parent 0a86ec8f
......@@ -128,7 +128,7 @@ def put_access(entry, index_types, index_cnames, tmp_cname, pos, code):
code.unlikely("%s < 0" % cname), tmp_cname, idx))
code.put("} else ")
else:
if idx > 0: code.put("} else ")
if idx > 0: code.put("else ")
if boundscheck:
# check bounds in positive direction
code.putln("if (%s) %s = %d;" % (
......
......@@ -91,7 +91,15 @@ Out-of-bounds errors:
...
IndexError: Out of bounds on buffer access (axis 1)
Unsigned indexing:
>>> get_int_2d_uintindex(C, 0, 0)
acquired C
released C
0
>>> get_int_2d_uintindex(C, 1, 2)
acquired C
released C
5
"""
......@@ -155,6 +163,12 @@ def printbuf_int_2d(o, shape):
def get_int_2d(object[int, 2] buf, int i, int j):
return buf[i, j]
def get_int_2d_uintindex(object[int, 2] buf, unsigned int i, unsigned int j):
# This is most interesting with regards to the C code
# generated.
return buf[i, j]
cdef class MockBuffer:
cdef object format
cdef char* buffer
......
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