我有一个函数我想抽象成一个可导入的模块:
cdef list generate_random_vectors(int num_vectors, int length, float scale=1):
cdef list return_list
np.random.seed()
return_list = []
for n in range(num_vectors):
return_list.append((1 - 2 * np.random.rand(length)) / scale)
return return_list
要将其放入模块中,我必须在pxd文件中定义它。
当我尝试这个时:
cdef list generate_random_vectors(int num_vectors, int length, float scale)
我收到错误:函数签名与之前的声明不匹配。
当我尝试这个时:
cdef list generate_random_vectors(int num_vectors, int length, float scale=1)
我收到错误:预期')',找到' INT'
答案 0 :(得分:1)
找到它。 pxd文件中的语法不同。
我需要使用:
cdef list generate_random_vectors(int num_vectors, int length, float scale=*)