cython

Форк
0
/
voidstarcast.pyx 
28 строк · 432.0 Байт
1
cdef class C:
2
    cdef int i
3

4
    def foo(self):
5
        self.i = 42
6

7
    def get_i(self):
8
        return self.i
9

10

11
def cast_cast_cast(arg):
12
    """
13
    >>> x = C()
14
    >>> x.foo()
15
    >>> cast_cast_cast(x) == x
16
    True
17
    >>> x.get_i()
18
    42
19
    """
20
    cdef object x
21
    cdef void *p = <void *>arg
22
    cdef int i
23
    x = <object>p
24
    p = <void *>x
25
    x = (<object>p).foo
26
    i = (<C>p).i
27
    (<C>p).i = i
28
    return <object>p
29

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

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

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

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