我想在Pyrex中定义初始化的C数组,例如相当于:
unsigned char a[8] = {0,1,2,3,4,5,6,7};
Pyrex中的等价物是什么?
只是数组是
cdef unsigned char a[8]
但是如何用我的值初始化呢?
答案 0 :(得分:4)
在Pyrex的继任者Cython中,这个功能在一年多的时间里被添加来解决这个问题feature request,所以例如以下在Cython中有效:
cdef double a[] = [0.5, 0.3, 0.1, 0.1]
然而,Pyrex的开发进展得慢得多(这就是为什么Cython几年前由开发人员rarin'为了更快的行动而分叉的原因),所以我怀疑它是否已经获得了这个功能(尽管你可以试试,特别是如果你是使用Pyrex的very latest release,0.9.8.6)。
如果Pyrex没有给你你想要的功能,我可以建议改用Cython吗?大多数派热克斯代码都应该在Cython中顺利重新编译,你可以通过这种方式获得额外的功能。