我想学习使用numba。不幸的是,我发现从文档中学习numba有点困难。所以我必须试着问你们。我想将函数f
作为参数传递给构造函数。但是我试试,我得到各种各样的错误。我该怎么办?
这是我的代码:
def f(x):
# return some mathematical expression
f_numba = jit(double(double))(f)
@autojit
class name:
def __init__(self, f)
self.f = f
@double(double)
def __call__(self, x)
return self.f(x)
funct = name(f_numba)
a = funct(5)
以下是我遇到的一些错误(我很抱歉没有保留缩进和换行符。我尝试了一些不同的东西,但在所有情况下,格式化都会丢失)。我发帖是因为我在评论中被要求。但是我得到的那种错误因具体的实施而异:
Traceback(最近一次调用最后一次):文件 “/home/marius/dev/python/inf1100/test_ODE.py”,第7行,在 来自DE import *文件“/home/marius/dev/python/inf1100/DE.py”,第3行,在 @autojit文件“/home/marius/anaconda/lib/python2.7/site-packages/numba/decorators.py”, 第183行,在autojit中 nopython = nopython,locals = locals,** kwargs)(func)文件“/home/marius/anaconda/lib/python2.7/site-packages/numba/decorators.py”, 第165行,在_autojit_decorator中 numba_func = wrapper(f,compilerimpl,cache)文件“/home/marius/anaconda/lib/python2.7/site-packages/numba/exttypes/autojitclass.py”, 第360行,在autojit_class_wrapper中 py_class = autojitmeta.create_unspecialized_cls(py_class,class_specializer)文件 “/home/marius/anaconda/lib/python2.7/site-packages/numba/exttypes/autojitmeta.py” 第22行,在create_unspecialized_cls中 class AutojitMeta(type(py_class)):TypeError:调用元类库时出错 类型'classobj'不是可接受的基类型