我一直在玩Scipy的内联工具(通过weave),但我遇到了一些麻烦。我的C已经生锈了,我觉得我错过了一些简单的东西。在
下面的函数被设计成一个3D float32 numpy数组。我使用了大量的网格化大气数据,但这应该适用于任何3D阵列。然后取网格,得到轴i上每个点j,k的算术平均值(也就是说,如果i是时间轴,j和k是lat/lon,那么我是每个网格点跨时间的平均值)。在<>我希望我的代码是这样做的,并且避免NoMPY NANS(我相信ISNANE())在内联C/C++ +…中工作。但是,不管它是否这样做,我都很难让代码在没有错误的情况下编译,例如:tools.py: In function ‘PyObject* compiled_func(PyObject*, PyObject*)’:
tools.py:93:45: error: invalid types ‘float[int]’ for array subscript
tools.py:95:51: error: invalid types ‘float[int]’ for array subscript
tools.py: In function ‘PyObject* compiled_func(PyObject*, PyObject*)’:
tools.py:93:45: error: invalid types ‘float[int]’ for array subscript
tools.py:95:51: error: invalid types ‘float[int]’ for array subscript
我想我的声明和初始化是正确的,所以可能有些东西没有按照我认为的方式传递给weave?如果有人能帮我解决这个问题,我会很高兴的。函数如下:
^{pr2}$