46 double *Ax, *Bx, *Cx, *W ;
47 Int apacked, up, lo, nrow, ncol, bpacked, nzmax, pa, paend, pb, pbend, i,
49 Int *Ap, *Ai, *Anz, *Bp, *Bi, *Bnz, *Flag, *Cp, *Ci ;
129 up = (A->
stype > 0) ;
130 lo = (A->
stype < 0) ;
143 bpacked =
B->packed ;
147 Flag = Common->Flag ;
155 nzmax = A->
nzmax +
B->nzmax ;
174 for (j = 0 ; j < ncol ; j++)
183 pbend = (bpacked) ? (Bp [j+1]) : (pb + Bnz [j]) ;
184 for (p = pb ; p < pbend ; p++)
187 if ((up && i > j) || (lo && i < j))
194 W [i] = beta [0] * Bx [p] ;
200 paend = (apacked) ? (Ap [j+1]) : (pa + Anz [j]) ;
201 for (p = pa ; p < paend ; p++)
204 if ((up && i > j) || (lo && i < j))
212 Cx [nz] = W [i] + alpha [0] * Ax [p] ;
219 for (p = pb ; p < pbend ; p++)
222 if ((up && i > j) || (lo && i < j))
226 if (Flag [i] == mark)
cholmod_sparse *CHOLMOD() add(cholmod_sparse *A, cholmod_sparse *B, double alpha[2], double beta[2], int values, int sorted, cholmod_common *Common)
int CHOLMOD() reallocate_sparse(size_t nznew, cholmod_sparse *A, cholmod_common *Common)
#define RETURN_IF_NULL_COMMON(result)
int CHOLMOD() sort(cholmod_sparse *A, cholmod_common *Common)
int CHOLMOD() free_sparse(cholmod_sparse **AHandle, cholmod_common *Common)
#define ASSERT(expression)
cholmod_sparse *CHOLMOD() allocate_sparse(size_t nrow, size_t ncol, size_t nzmax, int sorted, int packed, int stype, int xtype, cholmod_common *Common)
int CHOLMOD() allocate_work(size_t nrow, size_t iworksize, size_t xworksize, cholmod_common *Common)
#define RETURN_IF_NULL(A, result)
UF_long CHOLMOD() clear_flag(cholmod_common *Common)
#define ERROR(status, msg)
#define RETURN_IF_XTYPE_INVALID(A, xtype1, xtype2, result)
cholmod_sparse *CHOLMOD() copy(cholmod_sparse *A, int stype, int mode, cholmod_common *Common)