cython

Форк
0
/
builtins_truth_test.pyx 
293 строки · 4.4 Кб
1

2
def bool_list(list obj):
3
    """
4
    >>> bool_list( [] )
5
    False
6
    >>> bool_list( [1] )
7
    True
8
    >>> bool_list(None)
9
    False
10
    """
11
    return bool(obj)
12

13

14
def if_list(list obj):
15
    """
16
    >>> if_list( [] )
17
    False
18
    >>> if_list( [1] )
19
    True
20
    >>> if_list(None)
21
    False
22
    """
23
    if obj:
24
        return True
25
    else:
26
        return False
27

28

29
def if_list_nogil(list obj):
30
    """
31
    >>> if_list_nogil( [] )
32
    False
33
    >>> if_list_nogil( [1] )
34
    True
35
    >>> if_list_nogil(None)
36
    False
37
    """
38
    cdef bint result
39
    with nogil:
40
        if obj:
41
            result = True
42
        else:
43
            result = False
44
    return result
45

46

47
def if_list_literal(t):
48
    """
49
    >>> if_list_literal(True)
50
    True
51
    >>> if_list_literal(False)
52
    False
53
    """
54
    if t:
55
        if [1,2,3]:
56
            return True
57
        else:
58
            return False
59
    else:
60
        if []:
61
            return True
62
        else:
63
            return False
64

65

66
def bool_tuple(tuple obj):
67
    """
68
    >>> bool_tuple( () )
69
    False
70
    >>> bool_tuple( (1,) )
71
    True
72
    >>> bool_tuple(None)
73
    False
74
    """
75
    return bool(obj)
76

77

78
def if_tuple(tuple obj):
79
    """
80
    >>> if_tuple( () )
81
    False
82
    >>> if_tuple( (1,) )
83
    True
84
    >>> if_tuple(None)
85
    False
86
    """
87
    if obj:
88
        return True
89
    else:
90
        return False
91

92

93
def if_tuple_literal(t):
94
    """
95
    >>> if_tuple_literal(True)
96
    True
97
    >>> if_tuple_literal(False)
98
    False
99
    """
100
    if t:
101
        if (1,2,3):
102
            return True
103
        else:
104
            return False
105
    else:
106
        if ():
107
            return True
108
        else:
109
            return False
110

111

112
def bool_set(set obj):
113
    """
114
    >>> bool_set( set() )
115
    False
116
    >>> bool_set( set([1]) )
117
    True
118
    >>> bool_set(None)
119
    False
120
    """
121
    return bool(obj)
122

123

124
def if_set(set obj):
125
    """
126
    >>> if_set( set() )
127
    False
128
    >>> if_set( set([1]) )
129
    True
130
    >>> if_set(None)
131
    False
132
    """
133
    if obj:
134
        return True
135
    else:
136
        return False
137

138

139
def if_set_nogil(set obj):
140
    """
141
    >>> if_set_nogil( set() )
142
    False
143
    >>> if_set_nogil( set([1]) )
144
    True
145
    >>> if_set_nogil(None)
146
    False
147
    """
148
    cdef bint result
149
    with nogil:
150
        if obj:
151
            result = True
152
        else:
153
            result = False
154
    return result
155

156

157
def if_set_literal(t):
158
    """
159
    >>> if_set_literal(True)
160
    True
161
    >>> if_set_literal(False)
162
    False
163
    """
164
    if t:
165
        if {1,2,3}:
166
            return True
167
        else:
168
            return False
169
    else:
170
        if set():
171
            return True
172
        else:
173
            return False
174

175

176
def bool_frozenset(frozenset obj):
177
    """
178
    >>> bool_frozenset( frozenset() )
179
    False
180
    >>> bool_frozenset( frozenset([1]) )
181
    True
182
    >>> bool_frozenset(None)
183
    False
184
    """
185
    return bool(obj)
186

187

188
def if_frozenset(frozenset obj):
189
    """
190
    >>> if_frozenset( frozenset() )
191
    False
192
    >>> if_frozenset( frozenset([1]) )
193
    True
194
    >>> if_frozenset(None)
195
    False
196
    """
197
    if obj:
198
        return True
199
    else:
200
        return False
201

202

203
b0 = b''
204
b1 = b'abc'
205

206
def bool_bytes(bytes obj):
207
    """
208
    >>> bool_bytes(b0)
209
    False
210
    >>> bool_bytes(b1)
211
    True
212
    >>> bool_bytes(None)
213
    False
214
    """
215
    return bool(obj)
216

217
def if_bytes(bytes obj):
218
    """
219
    >>> if_bytes(b0)
220
    False
221
    >>> if_bytes(b1)
222
    True
223
    >>> if_bytes(None)
224
    False
225
    """
226
    if obj:
227
        return True
228
    else:
229
        return False
230

231
def if_bytes_literal(t):
232
    """
233
    >>> if_bytes_literal(True)
234
    True
235
    >>> if_bytes_literal(False)
236
    False
237
    """
238
    if t:
239
        if b'abc':
240
            return True
241
        else:
242
            return False
243
    else:
244
        if b'':
245
            return True
246
        else:
247
            return False
248

249

250
u0 = u''
251
u1 = u'abc'
252

253
def bool_unicode(unicode obj):
254
    """
255
    >>> bool_unicode(u0)
256
    False
257
    >>> bool_unicode(u1)
258
    True
259
    >>> bool_unicode(None)
260
    False
261
    """
262
    return bool(obj)
263

264
def if_unicode(unicode obj):
265
    """
266
    >>> if_unicode(u0)
267
    False
268
    >>> if_unicode(u1)
269
    True
270
    >>> if_unicode(None)
271
    False
272
    """
273
    if obj:
274
        return True
275
    else:
276
        return False
277

278
def if_unicode_literal(t):
279
    """
280
    >>> if_unicode_literal(True)
281
    True
282
    >>> if_unicode_literal(False)
283
    False
284
    """
285
    if t:
286
        if u'abc':
287
            return True
288
        else:
289
            return False
290
    else:
291
        if u'':
292
            return True
293
        else:
294
            return False
295

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

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

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

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