Код: Выделить всё
def __cinit__(self, bitboards = BITBOARDS, board_data = boarddata):
memcpy(self.bitboards, bitboards, 768)
self.board_data = board_data
Код: Выделить всё
def __cinit__(self, bitboards = BITBOARDS, board_data = boarddata):
memcpy(self.bitboards, bitboards, 768)
^
------------------------------------------------------------
brains.pyx:723:25: Cannot convert Python object to 'const void *'
Минимальный воспроизводимый пример:
ошибка компилятора выдается при компиляции следующего кода (та же ошибка, что и выше)
Код: Выделить всё
cimport cython
from libc.string cimport memcpy
ctypedef (unsigned long long) U64
cdef U64[2] a = [0, 0]
cdef class test:
cdef U64[2] b
def __cinit__(self, param1 = a):
memcpy(self.b, param1, sizeof(param1))
c = test()
Код: Выделить всё
cimport cython
from libc.string cimport memcpy
ctypedef (unsigned long long) U64
cdef U64[2] a = [0, 0]
cdef class test:
cdef U64[2] b
def __cinit__(self):
pass
cpdef void set(self, U64[2] param1):
memcpy(self.b, param1, 128)
c = test()
c.set(a)
Код: Выделить всё
cdef U64[2] b
def __cinit__(self):
pass
cpdef void set(self, U64[2] param1):
^
------------------------------------------------------------
test.pyx:13:10: Cannot convert 'U64 *' to Python object
Подробнее здесь: https://stackoverflow.com/questions/790 ... out-errors