[Cython] Strange bug? with np.int64_t
Patrick Snape
patricksnape at gmail.com
Wed Oct 15 20:27:46 CEST 2014
System information:
Ubuntu 14.04 x64
gcc: Version 4.8.2 (Ubuntu 4.8.2-19ubuntu1), Target: x86_64-linux-gnu
To reproduce:
# distutils: language = c++
import numpy as np
cimport numpy as np
cimport cython
cdef test_np_int64(const np.int64_t test_var):
cdef np.int64_t error = test_var / 2
This fails to compile with the error:
In function ‘const __pyx_t_5numpy_int64_t
__Pyx_div___pyx_t_5numpy_int64_t__const__(__pyx_t_5numpy_int64_t,
__pyx_t_5numpy_int64_t)’:
error: assignment of read-only variable ‘q’
q -= ((r != 0) & ((r ^ b) < 0));
Using just a regular int type:
# distutils: language = c++
import numpy as np
cimport numpy as np
cimport cython
cdef test_int(const int test_var):
cdef int no_error = test_var / 2
Works as expected.
Fixing this is as simple as removing the const that is being complained
about. I assume this is a bug? I can't see why I wouldn't be allowed to
perform that operation?
Regards,
Patrick
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/cython-devel/attachments/20141015/96d2ed65/attachment.html>
More information about the cython-devel
mailing list