cython

Форк
0
/
dictintindex.pyx 
245 строк · 4.4 Кб
1
def test_get_char_neg():
2
    """
3
    >>> test_get_char_neg()
4
    0
5
    """
6
    cdef char key = -1
7
    if <char>-1 < 0:
8
        d = {-1:0}
9
    else:
10
        d = {255:0}
11
    return d[key]
12
def test_get_char_zero():
13
    """
14
    >>> test_get_char_zero()
15
    1
16
    """
17
    cdef char key = 0
18
    d = {0:1}
19
    return d[key]
20
def test_get_char_pos():
21
    """
22
    >>> test_get_char_pos()
23
    2
24
    """
25
    cdef char key = 1
26
    d = {1:2}
27
    return d[key]
28

29

30
def test_get_uchar_zero():
31
    """
32
    >>> test_get_uchar_zero()
33
    1
34
    """
35
    cdef unsigned char key = 0
36
    d = {0:1}
37
    return d[key]
38
def test_get_uchar_pos():
39
    """
40
    >>> test_get_uchar_pos()
41
    2
42
    """
43
    cdef unsigned char key = 1
44
    d = {1:2}
45
    return d[key]
46

47

48
def test_get_int_neg():
49
    """
50
    >>> test_get_int_neg()
51
    0
52
    """
53
    cdef int key = -1
54
    d = {-1:0}
55
    return d[key]
56
def test_get_int_zero():
57
    """
58
    >>> test_get_int_zero()
59
    1
60
    """
61
    cdef int key = 0
62
    d = {0:1}
63
    return d[key]
64
def test_get_int_pos():
65
    """
66
    >>> test_get_int_pos()
67
    2
68
    """
69
    cdef int key = 1
70
    d = {1:2}
71
    return d[key]
72

73

74
def test_get_uint_zero():
75
    """
76
    >>> test_get_uint_zero()
77
    1
78
    """
79
    cdef unsigned int key = 0
80
    d = {0:1}
81
    return d[key]
82
def test_get_uint_pos():
83
    """
84
    >>> test_get_uint_pos()
85
    2
86
    """
87
    cdef unsigned int key = 1
88
    d = {1:2}
89
    return d[key]
90

91

92
def test_get_longlong_neg():
93
    """
94
    >>> test_get_longlong_neg()
95
    0
96
    """
97
    cdef long long key = -1
98
    d = {-1:0}
99
    return d[key]
100
def test_get_longlong_zero():
101
    """
102
    >>> test_get_longlong_zero()
103
    1
104
    """
105
    cdef long long key = 0
106
    d = {0:1}
107
    return d[key]
108
def test_get_longlong_pos():
109
    """
110
    >>> test_get_longlong_pos()
111
    2
112
    """
113
    cdef long long key = 1
114
    d = {1:2}
115
    return d[key]
116
def test_get_longlong_big():
117
    """
118
    >>> test_get_longlong_big()
119
    3
120
    """
121
    cdef unsigned int shift = sizeof(long)+2
122
    cdef long long big = 1
123
    cdef long long key = big<<shift
124
    d = {big<<shift:3}
125
    return d[key]
126

127
def test_get_ulonglong_zero():
128
    """
129
    >>> test_get_ulonglong_zero()
130
    1
131
    """
132
    cdef unsigned long long key = 0
133
    d = {0:1}
134
    return d[key]
135
def test_get_ulonglong_pos():
136
    """
137
    >>> test_get_ulonglong_pos()
138
    2
139
    """
140
    cdef unsigned long long key = 1
141
    d = {1:2}
142
    return d[key]
143
def test_get_ulonglong_big():
144
    """
145
    >>> test_get_ulonglong_big()
146
    3
147
    """
148
    cdef unsigned int shift = sizeof(long)+2
149
    cdef unsigned long long big = 1
150
    cdef unsigned long long key = big<<shift
151
    d = {big<<shift:3}
152
    return d[key]
153

154

155
def test_del_char():
156
    """
157
    >>> test_del_char()
158
    Traceback (most recent call last):
159
    KeyError: 0
160
    """
161
    cdef char key = 0
162
    d = {0:1}
163
    del d[key]
164
    return d[key]
165

166
def test_del_uchar():
167
    """
168
    >>> test_del_uchar()
169
    Traceback (most recent call last):
170
    KeyError: 0
171
    """
172
    cdef unsigned char key = 0
173
    d = {0:1}
174
    del d[key]
175
    return d[key]
176

177
def test_del_int():
178
    """
179
    >>> test_del_int()
180
    Traceback (most recent call last):
181
    KeyError: 0
182
    """
183
    cdef int key = 0
184
    d = {0:1}
185
    del d[key]
186
    return d[key]
187

188
def test_del_uint():
189
    """
190
    >>> test_del_uint()  #doctest: +ELLIPSIS
191
    Traceback (most recent call last):
192
    KeyError: 0...
193
    """
194
    cdef unsigned int key = 0
195
    d = {0:1}
196
    del d[key]
197
    return d[key]
198

199
def test_del_longlong():
200
    """
201
    >>> test_del_longlong() #doctest: +ELLIPSIS
202
    Traceback (most recent call last):
203
    KeyError: 0...
204
    """
205
    cdef long long key = 0
206
    d = {0:1}
207
    del d[key]
208
    return d[key]
209

210
def test_del_ulonglong():
211
    """
212
    >>> test_del_ulonglong() #doctest: +ELLIPSIS
213
    Traceback (most recent call last):
214
    KeyError: 0...
215
    """
216
    cdef unsigned long long key = 0
217
    d = {0:1}
218
    del d[key]
219
    return d[key]
220

221
def test_del_longlong_big():
222
    """
223
    >>> test_del_longlong_big() #doctest: +ELLIPSIS
224
    Traceback (most recent call last):
225
    KeyError: ...
226
    """
227
    cdef int shift = sizeof(long)+2
228
    cdef long long big = 1
229
    cdef long long key = big<<shift
230
    d = {big<<shift:1}
231
    del d[key]
232
    return d[key]
233

234
def test_del_ulonglong_big():
235
    """
236
    >>> test_del_ulonglong_big() #doctest: +ELLIPSIS
237
    Traceback (most recent call last):
238
    KeyError: ...
239
    """
240
    cdef unsigned int shift = sizeof(long)+2
241
    cdef unsigned long long big = 1
242
    cdef unsigned long long key = big<<shift
243
    d = {big<<shift:1}
244
    del d[key]
245
    return d[key]
246

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.