1__doc__ = u"""
2    >>> class Test(object):
3    ...     def __setitem__(self, key, value):
4    ...         print((key, value))
5    ...     def __getitem__(self, key):
6    ...         print(key)
7    ...         return self
8
9    >>> ellipsis(Test())
10    Ellipsis
11
12    >>> full(Test())
13    slice(None, None, None)
14
15    >>> select(0, Test(), 10, 20, 30)
16    slice(10, None, None)
17    slice(None, 20, None)
18    slice(None, None, 30)
19    slice(10, 20, None)
20    slice(10, None, 30)
21    slice(None, 20, 30)
22    slice(10, 20, 30)
23    slice(1, 2, 3)
24
25    >>> set(Test(), -11)
26    (slice(1, 2, 3), -11)
27"""
28
29def ellipsis(o):
30    obj1 = o[...]
31
32def full(o):
33    obj1 = o[::]
34
35def set(o, v):
36    cdef int int3, int4, int5
37    int3, int4, int5 = 1,2,3
38    o[int3:int4:int5] = v
39
40def select(obj1, obj2, obj3, obj4, obj5):
41    cdef int int3, int4, int5
42    int3, int4, int5 = 1,2,3
43
44    obj1 = obj2[obj3::]
45    obj1 = obj2[:obj4:]
46    obj1 = obj2[::obj5]
47    obj1 = obj2[obj3:obj4:]
48    obj1 = obj2[obj3::obj5]
49    obj1 = obj2[:obj4:obj5]
50    obj1 = obj2[obj3:obj4:obj5]
51    obj1 = obj2[int3:int4:int5]
52
53