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;
}
Beispiel #4
0
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;
}