Cython:如何在Cython中返回函数

2024-09-29 21:30:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要对一个接受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函数创建一个构造函数类吗?在


Tags: 函数代码参数returnnpfloatsecdef

热门问题