you need to type I.
Dag Sverre Seljebotn
-----Original Message-----
From: Neal Becker <[email protected]>
Date: Sunday, Oct 11, 2009 1:49 am
Subject: [Cython] complex performance issue?
To: [email protected]: [email protected]
I expected this code to be efficient, and wanted to see what c++ code it
>produced:
>
>def test3 (np.ndarray[np.complex128_t, ndim=1] in1):
> cdef int xmax = in1.shape[0]
> for i in range (xmax):
> in1[i].imag = 0
>
> /* "/home/nbecker/raysat/mod/test2.pyx":27
> * cdef int xmax = in1.shape[0]
> * for i in range (xmax):
> * in1[i].imag = 0 # <<<<<<<<<<<<<<
> *
> */
> __pyx_t_2 = PyObject_GetItem(__pyx_v_in1, __pyx_v_i); if (!__pyx_t_2)
>{__pyx_filename = __pyx_f[0]; __pyx_lineno = 27; __pyx_clineno = __LINE__;
>goto __pyx_L1_error;}
> __Pyx_GOTREF(__pyx_t_2);
> if (PyObject_SetAttr(__pyx_t_2, __pyx_n_ui_imag, __pyx_int_0) < 0)
>{__pyx_filename = __pyx_f[0]; __pyx_lineno = 27; __pyx_clineno = __LINE__;
>goto __pyx_L1_error;}
> __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
> }
>
>...
>
>Looks to me like it's using 'SetAttr' to set the .imag value. Not good.
>
>
>
>_______________________________________________
>Cython-dev mailing list
>[email protected]
>http://codespeak.net/mailman/listinfo/cython-dev
>
_______________________________________________
Cython-dev mailing list
[email protected]
http://codespeak.net/mailman/listinfo/cython-dev