Cython has moved to github.
cython-devel
view tests/run/buffer.pyx @ 1622:4f0327bdebc9
test for temp allocation bug in call
| author | Robert Bradshaw <robertwb@math.washington.edu> |
|---|---|
| date | Sat Jan 17 01:25:34 2009 -0800 (3 years ago) |
| parents | c8570442eac0 |
| children | efc9b37cd3cd |
line source
1 __doc__ = u"""
2 >>> b1 = TestBuffer()
3 >>> b2 = TestBufferRelease()
4 """
6 import sys
7 if sys.version_info[0] >= 3:
8 __doc__ += u"""
9 >>> ms = memoryview(s)
10 >>> ms.tobytes()
11 b'abcdefg'
13 >>> m1 = memoryview(b1)
14 >>> m1.tobytes()
15 b'abcdefg'
17 >>> m2 = memoryview(b2)
18 >>> m2.tobytes()
19 releasing!
20 b'abcdefg'
22 >>> del m1
23 >>> del m2
24 releasing!
25 """
27 s = "abcdefg"
29 cdef class TestBuffer:
30 def __getbuffer__(self, Py_buffer* buffer, int flags):
31 buffer.buf = <char*>s
32 buffer.obj = self
33 buffer.len = len(s)
34 buffer.readonly = 0
35 buffer.format = "B"
36 buffer.ndim = 0
37 buffer.shape = NULL
38 buffer.strides = NULL
39 buffer.suboffsets = NULL
40 buffer.itemsize = 1
41 buffer.internal = NULL
43 cdef class TestBufferRelease(TestBuffer):
44 def __releasebuffer__(self, Py_buffer* buffer):
45 print u"releasing!"
