Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Numpy 从Cython调用PyArray\u SearchSorted--3或4个参数?_Numpy_Cython - Fatal编程技术网

Numpy 从Cython调用PyArray\u SearchSorted--3或4个参数?

Numpy 从Cython调用PyArray\u SearchSorted--3或4个参数?,numpy,cython,Numpy,Cython,我试图使用Cython提供的NumPy的C API来使用PyArray\u SearchSorted 当像PyArray\u SearchSorted(value,point,NPY\u SEARCHLEFT)那样调用它时,我得到了GCC错误:error:函数调用的参数太少,预期为4个,有3个 另一方面,当我像PyArray\u SearchSorted(value,point,NPY\u SEARCHLEFT,NULL)那样调用它时,Cython提供了一个错误:调用的参数数目错误(预期为3,得

我试图使用Cython提供的NumPy的C API来使用
PyArray\u SearchSorted

当像
PyArray\u SearchSorted(value,point,NPY\u SEARCHLEFT)
那样调用它时,我得到了GCC错误:
error:函数调用的参数太少,预期为4个,有3个

另一方面,当我像
PyArray\u SearchSorted(value,point,NPY\u SEARCHLEFT,NULL)
那样调用它时,Cython提供了一个错误:
调用的参数数目错误(预期为3,得到4)

仔细观察,函数签名as和as之间似乎存在差异

我知道searchsorted的
sorter
参数只出现在NumPy 1.7.0中,但是向后兼容性不是NumPy C API的保证之一吗?还是这只是一只赛昂虫子


如果有必要的话,我将在OS X上使用conda中的Cython 0.21.1、NumPy 1.9.1和Python 2.7。

看起来这一更改发生在1.6版和1.7版之间,在此提交中:


我相信这肯定是一个bug,但不幸的是,这种特定的bug即使在高标准的努力下也很容易溜进来。需要像严格的ABI一致性测试套件这样的东西来一致地捕获这些错误。

为了澄清,这是一个NumPy错误,是吗?虽然在这一点上,更改Cython包含比更改NumPy更有意义?是的,这是一个NumPy bug。我认为在事情发生这么久之后,在NumPy做点什么是不可取的,因为1.7、1.8和1.9都是一致的。可能正确的做法是更新Cython,并在NumPy API文档中添加一个关于它的文档警告注释。