SCM

SCM Repository

[matrix] Diff of /pkg/Matrix/src/Csparse.c
ViewVC logotype

Diff of /pkg/Matrix/src/Csparse.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2628, Sat Dec 11 16:56:51 2010 UTC revision 2629, Sat Dec 11 18:50:49 2010 UTC
# Line 414  Line 414 
414      CHM_DN chb = AS_CHM_DN(b_M);      CHM_DN chb = AS_CHM_DN(b_M);
415      CHM_DN chc = cholmod_l_allocate_dense(cha->ncol, chb->ncol, cha->ncol,      CHM_DN chc = cholmod_l_allocate_dense(cha->ncol, chb->ncol, cha->ncol,
416                                          chb->xtype, &c);                                          chb->xtype, &c);
417      SEXP dn = PROTECT(allocVector(VECSXP, 2));      SEXP dn = PROTECT(allocVector(VECSXP, 2)); int nprot = 2;
418      double one[] = {1,0}, zero[] = {0,0};      double one[] = {1,0}, zero[] = {0,0};
419      R_CheckStack();      R_CheckStack();
420        // -- see Csparse_dense_prod() above :
421        if(cha->xtype == CHOLMOD_PATTERN) {
422            SEXP da = PROTECT(nz2Csparse(a, x_double)); nprot++;
423            cha = AS_CHM_SP(da);
424        }
425      cholmod_l_sdmult(cha, 1, one, zero, chb, chc, &c);      cholmod_l_sdmult(cha, 1, one, zero, chb, chc, &c);
426      SET_VECTOR_ELT(dn, 0,       /* establish dimnames */      SET_VECTOR_ELT(dn, 0,       /* establish dimnames */
427                     duplicate(VECTOR_ELT(GET_SLOT(a, Matrix_DimNamesSym), 1)));                     duplicate(VECTOR_ELT(GET_SLOT(a, Matrix_DimNamesSym), 1)));
428      SET_VECTOR_ELT(dn, 1,      SET_VECTOR_ELT(dn, 1,
429                     duplicate(VECTOR_ELT(GET_SLOT(b_M, Matrix_DimNamesSym), 1)));                     duplicate(VECTOR_ELT(GET_SLOT(b_M, Matrix_DimNamesSym), 1)));
430      UNPROTECT(2);      UNPROTECT(nprot);
431      return chm_dense_to_SEXP(chc, 1, 0, dn);      return chm_dense_to_SEXP(chc, 1, 0, dn);
432  }  }
433    

Legend:
Removed from v.2628  
changed lines
  Added in v.2629

root@r-forge.r-project.org
ViewVC Help
Powered by ViewVC 1.0.0  
Thanks to:
Vienna University of Economics and Business University of Wisconsin - Madison Powered By FusionForge