void VU_mfillz_d(vsip_mview_d* Z) { vsip_length m = vsip_mgetcollength_d(Z); vsip_length n = vsip_mgetrowlength_d(Z); vsip_stride i,j; for(i=0; i<m; i++) for(j=0; j<n; j++) vsip_mput_d(Z,i,j,(vsip_scalar_d)0.0); return; }
void VU_mfill_d(vsip_mview_d *X, vsip_scalar_d a) { vsip_length RL = vsip_mgetrowlength_d(X); vsip_length CL = vsip_mgetcollength_d(X); vsip_length row,col; for(row=0; row<CL; row++) for(col=0; col<RL; col++) vsip_mput_d(X,row,col,a); return; }
void VU_opu_d( vsip_mview_d *A, vsip_vview_d *x, vsip_vview_d *y) { vsip_length m = vsip_mgetcollength_d(A); vsip_length n = vsip_mgetrowlength_d(A); vsip_length i,j; for(i=0; i<m; i++) for(j=0; j<n; j++) vsip_mput_d(A,i,j,vsip_mget_d(A,i,j) + vsip_vget_d(x,i) * vsip_vget_d(y,j)); return; }
PyObject *mcopyToListByCol_d(vsip_mview_d *v){ vsip_length M = vsip_mgetcollength_d(v); vsip_length N = vsip_mgetrowlength_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++){ double x = (double)vsip_mget_d(v,i,j); PyList_SetItem(col,i,PyFloat_FromDouble(x)); } PyList_SetItem(retval,j,col); } return retval; }
void VU_mprint_d(vsip_mview_d *X) { vsip_length RL = vsip_mgetrowlength_d(X); vsip_length CL = vsip_mgetcollength_d(X); vsip_length row,col; vsip_scalar_d x; printf("[\n"); for(row=0; row<CL; row++){ for(col=0; col<RL; col++){ x=vsip_mget_d(X,row,col); printf("%6.4f %s",x,((col==(RL-1)) ? ";" : " ")); } printf("\n"); } printf("];\n"); return; }