173 PRINT1 ((
"cholmod_allocate_triplet %d-by-%d nzmax %d xtype %d\n",
174 nrow, ncol, nzmax, xtype)) ;
176 nzmax =
MAX (1, nzmax) ;
198 &(T->
x), &(T->
z), &nzmax0, Common) ;
248 T->
x =
CHOLMOD(free) (nz,
sizeof (double), T->
x, Common) ;
252 T->
x =
CHOLMOD(free) (nz, 2*
sizeof (double), T->
x, Common) ;
256 T->
x =
CHOLMOD(free) (nz,
sizeof (double), T->
x, Common) ;
257 T->
z =
CHOLMOD(free) (nz,
sizeof (double), T->
z, Common) ;
293 PRINT1 ((
"realloc triplet %d to %d, xtype: %d\n",
294 T->nzmax, nznew, T->xtype)) ;
301 &(T->x), &(T->z), &(T->nzmax), Common) ;
345 Int *Wj, *Rp, *Ri, *Rnz, *Ti, *Tj ;
346 Int i, j, p, k, stype, nrow, ncol, nz, ok ;
408 for (i = 0 ; i < nrow ; i++)
415 for (k = 0 ; k < nz ; k++)
419 if (i < 0 || i >= nrow || j < 0 || j >= ncol)
432 for (k = 0 ; k < nz ; k++)
436 if (i < 0 || i >= nrow || j < 0 || j >= ncol)
449 for (k = 0 ; k < nz ; k++)
453 if (i < 0 || i >= nrow || j < 0 || j >= ncol)
475 for (i = 0 ; i < nrow ; i++)
484 for (i = 0 ; i < nrow ; i++)
496 anz = amesos_p_cholmod_triplet_to_sparse (T, R, Common) ;
500 anz = amesos_r_cholmod_triplet_to_sparse (T, R, Common) ;
504 anz = amesos_c_cholmod_triplet_to_sparse (T, R, Common) ;
508 anz = amesos_z_cholmod_triplet_to_sparse (T, R, Common) ;
521 stype, T->
xtype, Common) ;
542 ASSERT (
CHOLMOD(dump_sparse) (A,
"A = triplet(T) result", Common) >= 0) ;
565 double *Ax, *Az, *Tx, *Tz ;
566 Int *Ap, *Ai, *Ti, *Tj, *Anz ;
568 Int i, xtype, p, pend, k, j, nrow, ncol, nz, stype, packed, up, lo,
581 if (stype && nrow != ncol)
621 both = (A->
stype == 0) ;
622 up = (A->
stype > 0) ;
623 lo = (A->
stype < 0) ;
627 for (j = 0 ; j < ncol ; j++)
630 pend = (packed) ? (Ap [j+1]) : (p + Anz [j]) ;
631 for ( ; p < pend ; p++)
634 if (both || (up && i <= j) || (lo && i >= j))
645 Tx [2*k ] = Ax [2*p ] ;
646 Tx [2*k+1] = Ax [2*p+1] ;
689 double *Tx, *Tz, *Cx, *Cz ;
690 Int *Ci, *Cj, *Ti, *Tj ;
734 for (k = 0 ; k < nz ; k++)
738 for (k = 0 ; k < nz ; k++)
745 for (k = 0 ; k < nz ; k++)
752 for (k = 0 ; k < nz ; k++)
754 Cx [2*k ] = Tx [2*k ] ;
755 Cx [2*k+1] = Tx [2*k+1] ;
760 for (k = 0 ; k < nz ; k++)
#define CHOLMOD_TOO_LARGE
UF_long CHOLMOD() nnz(cholmod_sparse *A, cholmod_common *Common)
int CHOLMOD() transpose_sym(cholmod_sparse *A, int values, Int *Perm, cholmod_sparse *F, cholmod_common *Common)
int CHOLMOD() transpose_unsym(cholmod_sparse *A, int values, Int *Perm, Int *fset, size_t fsize, cholmod_sparse *F, cholmod_common *Common)
int CHOLMOD() realloc_multiple(size_t nnew, int nint, int xtype, void **I, void **J, void **X, void **Z, size_t *nold_p, cholmod_common *Common)
int CHOLMOD() dump_triplet(cholmod_triplet *T, char *name, cholmod_common *Common)
struct cholmod_triplet_struct cholmod_triplet
size_t CHOLMOD() add_size_t(size_t a, size_t b, int *ok)
int CHOLMOD() free_triplet(cholmod_triplet **THandle, cholmod_common *Common)
#define RETURN_IF_NULL_COMMON(result)
cholmod_triplet *CHOLMOD() allocate_triplet(size_t nrow, size_t ncol, size_t nzmax, int stype, int xtype, cholmod_common *Common)
int CHOLMOD() free_sparse(cholmod_sparse **AHandle, cholmod_common *Common)
cholmod_triplet *CHOLMOD() copy_triplet(cholmod_triplet *T, 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)
#define ERROR(status, msg)
int CHOLMOD() reallocate_triplet(size_t nznew, cholmod_triplet *T, cholmod_common *Common)
#define RETURN_IF_XTYPE_INVALID(A, xtype1, xtype2, result)
cholmod_triplet *CHOLMOD() sparse_to_triplet(cholmod_sparse *A, cholmod_common *Common)
cholmod_sparse *CHOLMOD() triplet_to_sparse(cholmod_triplet *T, size_t nzmax, cholmod_common *Common)