我需要对一个接受lenscale和sigvar参数的函数进行cythoize,以便构造一个函数。我希望能做到这一点,而不必让k峎se成为一个类。当我运行以下代码时:
ctypedef float (*kfunc)(float, float)
cdef kfunc k_se(float lenscale, float sigvar):
cdef float f(float xi, float xj):
return sigvar**2. * _np.exp(-(1./(2. * lenscale**2.)) *\
_npl.norm(xi - xj)**2)
return f
我得到了一个错误:
^{pr2}$我也尝试过返回lambda,cython也无法编译它。有什么想法吗,我需要为k廑se函数创建一个构造函数类吗?在
您可以构造一个类,该类可以用一组参数初始化并充当可调用的角色:
The cython documentation has more details on this.
相关问题 更多 >
编程相关推荐