擅长:python、mysql、java
<p>用<a href="http://docs.cython.org/src/userguide/memoryviews.html" rel="nofollow">Typed Memoryview</a>怎么样?在</p>
<pre><code>cimport cython
cdef class cell_t:
cdef public float[:] x, y, z
def __init__(self, x, y, z):
self.x = x
self.y = y
self.z = z
@cython.boundscheck(False) # turn of bounds-checking for entire function
def Interpolation(cell_t[:] cells, int nmbcellsx):
cdef float[:] x,y,z
cdef int i,j,length
cdef cell_t cell
for i in range(nmbcellsx):
cell = cells[i]
x = cell.x
y = cell.y
z = cell.z
length = len(x)
for j in range(length):
x[j] = x[j] * y[j] * z[j]
return 0
</code></pre>
<p>测试代码如下:</p>
^{pr2}$
<p>以及输出:</p>
<pre><code>[ 28. 80. 162.]
[ 6. 6. 6. 6. 6.]
</code></pre>