3 cs *
cs_spalloc (
int m,
int n,
int nzmax,
int values,
int triplet)
6 if (!A)
return (NULL) ;
10 A->
nz = triplet ? 0 : -1 ;
11 A->
p = (
int*)
cs_malloc (triplet ? nzmax : n+1,
sizeof (
int)) ;
12 A->
i = (
int*)
cs_malloc (nzmax,
sizeof (
int)) ;
13 A->
x = values ? (
double*)
cs_malloc (nzmax,
sizeof (
double)) : NULL ;
14 return ((!A->
p || !A->
i || (values && !A->
x)) ?
cs_spfree (A) :
A) ;
20 int ok, oki, okj = 1, okx = 1 ;
22 if (nzmax <= 0) nzmax = (
CS_CSC (A)) ? (A->
p [A->
n]) : A->
nz ;
23 A->
i = (
int*)
cs_realloc (A->
i, nzmax, sizeof (
int), &oki) ;
25 if (A->
x) A->
x = (
double*)
cs_realloc (A->
x, nzmax, sizeof (
double), &okx) ;
26 ok = (oki && okj && okx) ;
27 if (ok) A->
nzmax = nzmax ;
34 if (!A)
return (NULL) ;
44 if (!N)
return (NULL) ;
55 if (!S)
return (NULL) ;
69 if (!D)
return (NULL) ;
74 return ((!D->
p || !D->
r || !D->
q || !D->
s) ?
cs_dfree (D) : D) ;
80 if (!D)
return (NULL) ;
101 return (ok ? p : (
int*)
cs_free (p)) ;
csd * cs_ddone(csd *D, cs *C, void *w, int ok)
int cs_sprealloc(cs *A, int nzmax)
int * cs_idone(int *p, cs *C, void *w, int ok)
csn * cs_ndone(csn *N, cs *C, void *w, void *x, int ok)
cs * cs_done(cs *C, void *w, void *x, int ok)
void * cs_calloc(int n, size_t size)
void * cs_malloc(int n, size_t size)
void * cs_realloc(void *p, int n, size_t size, int *ok)
csd * cs_dalloc(int m, int n)
cs * cs_spalloc(int m, int n, int nzmax, int values, int triplet)