static void VU_cmconjIP_d(vsip_cmview_d *A) { vsip_length m = vsip_cmgetcollength_d(A); vsip_length n = vsip_cmgetrowlength_d(A); vsip_stride i,j; for(i=0; i<m; i++) for(j=0; j<n; j++) vsip_cmput_d(A,i,j,vsip_conj_d(vsip_cmget_d(A,i,j))); }
static void VU_cmfillz_d(vsip_cmview_d* Z) { vsip_length m = vsip_cmgetcollength_d(Z); vsip_length n = vsip_cmgetrowlength_d(Z); vsip_stride i,j; for(i=0; i<m; i++) for(j=0; j<n; j++) vsip_cmput_d(Z,i,j,vsip_cmplx_d(0.0,0.0)); return; }
void VU_cmfill_d(vsip_cmview_d *X, vsip_cscalar_d a) { vsip_length RL = vsip_cmgetrowlength_d(X); vsip_length CL = vsip_cmgetcollength_d(X); vsip_length row,col; for(row=0; row<CL; row++) for(col=0; col<RL; col++) vsip_cmput_d(X,row,col,a); return; }
void VU_cmprint_d(vsip_cmview_d *X) { vsip_length RL = vsip_cmgetrowlength_d(X); vsip_length CL = vsip_cmgetcollength_d(X); vsip_length i,j; vsip_cscalar_d x; printf("[\n"); for(j=0; j<RL; j++){ for(i=0; i<CL; i++){ x=vsip_cmget_d(X,i,j); printf("(%6.4f%+6.4fi%s",vsip_real_d(x),vsip_imag_d(x),((i==(CL-1)) ? ");" : ")")); } printf("\n"); } printf("];\n"); return; }
void VU_cmprint_d(vsip_cmview_d *X) { vsip_length RL = vsip_cmgetrowlength_d(X); vsip_length CL = vsip_cmgetcollength_d(X); vsip_length row,col; vsip_cscalar_d x; printf("[\n"); for(row=0; row<CL; row++){ for(col=0; col<RL; col++){ x=vsip_cmget_d(X,row,col); printf("(%6.4f %+6.4fi%s ",vsip_real_d(x),vsip_imag_d(x),((col==(RL-1)) ? ");" : ")")); } printf("\n"); } printf("];\n"); return; }
PyObject *cmcopyToListByCol_d(vsip_cmview_d *v){ PyObject *cval; vsip_length M = vsip_cmgetcollength_d(v); vsip_length N = vsip_cmgetrowlength_d(v); PyObject *retval = PyList_New(M); vsip_index i,j; for(j=0; j<N; j++){ PyObject *col = PyList_New(M); for(i=0; i<M; i++){ vsip_cscalar_d x = vsip_cmget_d(v,i,j); double re = (double)x.r; double im = (double)x.i; cval = PyComplex_FromDoubles(re,im); PyList_SetItem(col,i,cval); } PyList_SetItem(retval,j,col); } return retval; }