Dag Sverre Seljebotn wrote:
> Marcin Cieślik wrote:
>> Hello,
>>
>> Does anyone know why this code fails on a 64bit linux machine (it is
>> working on 32 just fine):
>> The compiler complains:
>>
>> bit.c:792: warning: passing argument 3 of '*(PyArray_API + 744u)' from
>> incompatible pointer type
>>
>> and I get a segmentation fault
>>
>> If it is not an issue with Cython could you please direct me
>> somewhere, if have almost no C/C++ skill.
> 
> See comments below.
> 
>> #####
>> cimport numpy as np
>> ctypedef np.double_t DTYPE_t
> 
> This isn't related to the problem, but when you are using the NPY_DOUBLE 
> etc. constants directly you should instead do
> 
> ctypedef np.npy_double DTYPE_t
> 
> This is because there isn't a 1:1 correspondance between the "shorthand" 
> types and the NPY_TYPE constants (see bottom of 
> Cython/Includes/numpy.pxd for details. BTW, patches for numpy.pxd to add 
>   the Py_Array_SimpleNew... calls are welcome if submitted).
> 
>> from numpy cimport NPY_DOUBLE, NPY_UINT
>> from stdlib cimport malloc, realloc, free
>>
>> cdef extern from "arrayobject.h":
>>     cdef object PyArray_SimpleNewFromData(int nd, int *dims,\
>>                                             int typenum, void *data)
> 
> dims should be declared with the type npy_intp instead (and this is also 
> what your compiler complained about).

Sorry, I meant npy_intp*.

-- 
Dag Sverre
_______________________________________________
Cython-dev mailing list
[email protected]
http://codespeak.net/mailman/listinfo/cython-dev

Reply via email to