SCM

SCM Repository

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

Diff of /pkg/src/dgBCMatrix.c

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

revision 679, Wed Mar 30 14:42:36 2005 UTC revision 746, Wed May 18 17:03:17 2005 UTC
# Line 176  Line 176 
176          for (j = 0; j < anc; j++) {          for (j = 0; j < anc; j++) {
177              int k, kk, k2 = Ap[j+1];              int k, kk, k2 = Ap[j+1];
178              for (k = Ap[j]; k < k2; k++) {              for (k = Ap[j]; k < k2; k++) {
179                  int ii = Ai[k], K = check_csc_index(Cp, Ci, ii, ii, 0);                  int ii = Ai[k];
180                    int K = check_csc_index(Cp, Ci, ii, ii, 0);
181    
                 if (K < 0) error(_("cscb_syrk: C[%d,%d] not defined"), ii, ii);  
182                  if (scalar) Cx[K] += alpha * Ax[k] * Ax[k];                  if (scalar) Cx[K] += alpha * Ax[k] * Ax[k];
183                  else F77_CALL(dsyrk)((uplo == UPP) ? "U" : "L", "N",                  else F77_CALL(dsyrk)((uplo == UPP) ? "U" : "L", "N",
184                                       cdims, adims + 1,                                       cdims, adims + 1,
# Line 546  Line 546 
546                                  /* transpose B */                                  /* transpose B */
547              for (i = 0, nrbB = -1; i < nnz; i++)              for (i = 0, nrbB = -1; i < nnz; i++)
548                  if (Bi[i] > nrbB) nrbB = Bi[i];                  if (Bi[i] > nrbB) nrbB = Bi[i];
549                nrbB++;             /* max 0-based index is 1 too small */
550              BTp = Calloc(nrbB, int);              BTp = Calloc(nrbB, int);
551              triplet_to_col(ncbB, nrbB, nnz, tmp, Bi, Bx, BTp, BTi, BTx);              triplet_to_col(ncbB, nrbB, nnz, tmp, Bi, Bx, BTp, BTi, BTx);
552                                  /* sanity check */                                  /* sanity check */
# Line 560  Line 561 
561                               Ap, Ai, Ax);                               Ap, Ai, Ax);
562                  /* write non-zeros in sol'n into B */                  /* write non-zeros in sol'n into B */
563                  for (j = 0; j < ncbB; j++) {                  for (j = 0; j < ncbB; j++) {
564                      if (BTx[j]) Bx[check_csc_index(Bp, Bi, j, i, 0)] = BTx[j];                      if (rhs[j]) Bx[check_csc_index(Bp, Bi, i, j, 0)] = rhs[j];
565                  }                  }
                 Free(rhs); Free(BTp); Free(BTx); Free(BTi);  
566              }              }
567                Free(rhs); Free(BTp); Free(BTx); Free(BTi);
568                return;
569          }          }
570          error(_("cscb_trcbsm: method not yet written"));          error(_("cscb_trcbsm: method not yet written"));
571      }      }

Legend:
Removed from v.679  
changed lines
  Added in v.746

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