numpy and cython
pauld11718
pauld11718 at gmail.com
Sat May 9 10:51:50 EDT 2015
Unable to compile :
import numpy as np
cimport numpy as np
import math as m
DTYPE = np.float
ctypedef np.float_t DTYPE_t
def visc1(float t, float dcal):
cdef float h, tr, trinv, rhor
cdef float eta0, sumi, i, sumj, im1, jm1, eta
cdef np.ndarray vb = np.array([1.00000, 0.940695, 0.578377, -0.202044], dtype = DTYPE)
cdef np.ndarray[DTYPE_t, ndim=2] va = np.array([[.4864192, .3509007, -.2847572, .07013759,.0164122, -.01163815,.0],
[-.2448372,1.315436, -1.037026, .4660127, -.02884911,-.008239587,.0],
[-.8702035, 1.297752, -1.287846, .2292075, .0, .0, .0],
[.8716056, 1.353448, .0, -.4857462, .1607171,.0, -.003886659],
[-1.051126, .0, .0, .0, .0, .0, .0],
[.3458395, .0, -.02148229, .0, -.009603846, .004559914,.0]], dtype=DTYPE, ndim = 2)
h=55.2651e-06;
tr = t/643.89;
trinv=643.89/t;
rhor=dcal/0.358;
eta0 = h*(m.pow(tr,0.5))/(vb[0] + vb[1]/tr + vb[2]/(tr*tr) + vb[3]/(tr**3));
sumi=0.0
for i in range(6):
sumj=va[i,0]
for j in range(2,7):
jm1=j-1;
sumj=sumj+va[i,j]*((rhor-1.0)**jm1);
im1 = i-1
sumi = sumi+sumj*((trinv-1.0)**im1);
eta = eta0*m.exp(rhor*sumi)
return eta
Error :
Compiling visco.pyx because it changed.
Cythonizing visco.pyx
running build_ext
building 'visco' extension
gcc -pthread -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/home/deepraj/miniconda3/envs/venv1/include/python3.4m -c visco.c -o build/temp.linux-x86_64-3.4/visco.o
In file included from /usr/include/numpy/ndarraytypes.h:1761:0,
from /usr/include/numpy/ndarrayobject.h:17,
from /usr/include/numpy/arrayobject.h:4,
from visco.c:258:
/usr/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: #warning "Using deprecated NumPy API, disable it by " "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
#warning "Using deprecated NumPy API, disable it by " \
^
gcc -pthread -shared build/temp.linux-x86_64-3.4/visco.o -L/home/abcd/miniconda3/envs/venv1/lib -lpython3.4m -o /media/abcd/Man_UTD/pythoncode/venv1/visco.cpython-34m.so
More information about the Python-list
mailing list