Hi,
I'm not sure if multiple assignment is the right name, but have a look
at this code:
cdef f1():
cdef char a, b
a = b = False
Cython 0.9.8 creates this:
[...]
*
* a = b = False # <<<<<<<<<<<<<<
*/
__pyx_1 = __pyx_PyInt_char(Py_False); if (unlikely((__pyx_1 == (char)-1) &&
PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 4;
__pyx_clineno = __LINE__; goto __pyx_L1;}
__pyx_v_a = __pyx_1;
__pyx_1 = __pyx_PyInt_char(Py_False); if (unlikely((__pyx_1 == (char)-1) &&
PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 4;
__pyx_clineno = __LINE__; goto __pyx_L1;}
__pyx_v_b = __pyx_1;
[...]
If I write a = b = 0 (or a = False; b = False), the result is the expected
__pyx_v_a = 0;
__pyx_v_b = 0;
Ciao
Marc
_______________________________________________
Cython-dev mailing list
[email protected]
http://codespeak.net/mailman/listinfo/cython-dev