cython

Форк
0
/
cintop.pyx 
60 строк · 1.1 Кб
1
# mode: run
2

3
__doc__ = u"""
4
    >>> int2 = 42
5
    >>> int3 = 7
6
    >>> char1 = ord('C')
7

8
    >>> int1 = int2 | int3
9
    >>> int1 |= int2 ^ int3
10
    >>> int1 ^= int2 & int3
11
    >>> int1 ^= int2 << int3
12
    >>> int1 ^= int2 >> int3
13
    >>> int1 ^= int2 << int3 | int2 >> int3
14
    >>> long1 = char1 | int1
15
    >>> (int1, long1) == f()
16
    True
17

18
"""
19

20
def f():
21
    """
22
    >>> f()
23
    (45, 111)
24
    """
25
    cdef int int1, int2, int3
26
    cdef char char1
27
    cdef long long1, long2
28
    int2 = 42
29
    int3 = 7
30
    char1 = c'C'
31

32
    int1 = int2 | int3
33
    int1 |= int2 ^ int3
34
    int1 ^= int2 & int3
35
    int1 ^= int2 << int3
36
    int1 ^= int2 >> int3
37
    int1 ^= int2 << int3 | int2 >> int3
38
    long1 = char1 | int1
39
    return int1, long1
40

41

42
def long_int_shift():
43
    """
44
    >>> long_int_shift()
45
    80082
46
    10010
47
    10010
48
    10010
49
    10010
50
    """
51
    value = 80082 # int using more than 2 bytes == long
52
    print(value)
53
    shiftedby3 = value >> 3
54
    dividedby8 = value // 8
55
    print(shiftedby3)
56
    print(dividedby8)
57
    shiftedby3 = 80082 >> 3
58
    dividedby8 = 80082 // 8
59
    print(shiftedby3)
60
    print(dividedby8)
61

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

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

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

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