58 s = x * sqrt (1.0 + r*r) ;
70 s = y * sqrt (1.0 + r*r) ;
100 double *cr,
double *ci
103 double tr, ti, r, den ;
104 if (fabs (br) >= fabs (bi))
108 tr = (ar + ai * r) / den ;
109 ti = (ai - ar * r) / den ;
115 tr = (ar * r + ai) / den ;
116 ti = (ai * r - ar) / den ;
159 double *Xold, *Zold, *Xnew, *Znew ;
163 if (xtype_out < xtype1 || xtype_out > xtype2)
191 Xnew =
CHOLMOD(malloc) (nz,
sizeof (double), Common) ;
196 for (k = 0 ; k < nz ; k++)
209 Xnew =
CHOLMOD(malloc) (nz, 2*
sizeof (double), Common) ;
214 for (k = 0 ; k < nz ; k++)
228 Xnew =
CHOLMOD(malloc) (nz,
sizeof (double), Common) ;
229 Znew =
CHOLMOD(malloc) (nz,
sizeof (double), Common) ;
232 CHOLMOD(free) (nz,
sizeof (double), Xnew, Common) ;
233 CHOLMOD(free) (nz,
sizeof (double), Znew, Common) ;
236 for (k = 0 ; k < nz ; k++)
262 *XX =
CHOLMOD(free) (nz,
sizeof (double), *XX, Common) ;
271 Xnew =
CHOLMOD(malloc) (nz, 2*
sizeof (double), Common) ;
276 for (k = 0 ; k < nz ; k++)
278 Xnew [2*k ] = Xold [k] ;
281 CHOLMOD(free) (nz,
sizeof (double), *XX, Common) ;
291 Znew =
CHOLMOD(malloc) (nz,
sizeof (double), Common) ;
296 for (k = 0 ; k < nz ; k++)
320 *XX =
CHOLMOD(free) (nz, 2*
sizeof (double), *XX, Common) ;
329 for (k = 0 ; k < nz ; k++)
331 Xold [k] = Xold [2*k] ;
335 *XX =
CHOLMOD(realloc) (nz,
sizeof (double), *XX, &nz2,
345 Xnew =
CHOLMOD(malloc) (nz,
sizeof (double), Common) ;
346 Znew =
CHOLMOD(malloc) (nz,
sizeof (double), Common) ;
349 CHOLMOD(free) (nz,
sizeof (double), Xnew, Common) ;
350 CHOLMOD(free) (nz,
sizeof (double), Znew, Common) ;
353 for (k = 0 ; k < nz ; k++)
355 Xnew [k] = Xold [2*k ] ;
356 Znew [k] = Xold [2*k+1] ;
358 CHOLMOD(free) (nz, 2*
sizeof (double), *XX, Common) ;
380 *XX =
CHOLMOD(free) (nz,
sizeof (double), *XX, Common) ;
381 *ZZ =
CHOLMOD(free) (nz,
sizeof (double), *ZZ, Common) ;
390 *ZZ =
CHOLMOD(free) (nz,
sizeof (double), *ZZ, Common) ;
398 Xnew =
CHOLMOD(malloc) (nz, 2*
sizeof (double), Common) ;
403 for (k = 0 ; k < nz ; k++)
405 Xnew [2*k ] = Xold [k] ;
406 Xnew [2*k+1] = Zold [k] ;
408 CHOLMOD(free) (nz,
sizeof (double), *XX, Common) ;
409 CHOLMOD(free) (nz,
sizeof (double), *ZZ, Common) ;
448 A->xtype = to_xtype ;
479 T->xtype = to_xtype ;
510 X->xtype = to_xtype ;
547 L->xtype = to_xtype ;
double CHOLMOD() hypot(double x, double y)
int CHOLMOD() sparse_xtype(int to_xtype, cholmod_sparse *A, cholmod_common *Common)
int CHOLMOD() triplet_xtype(int to_xtype, cholmod_triplet *T, cholmod_common *Common)
int CHOLMOD() factor_xtype(int to_xtype, cholmod_factor *L, cholmod_common *Common)
#define RETURN_IF_NULL_COMMON(result)
static int change_complexity(Int nz, int xtype_in, int xtype_out, int xtype1, int xtype2, void **XX, void **ZZ, cholmod_common *Common)
int CHOLMOD() divcomplex(double ar, double ai, double br, double bi, double *cr, double *ci)
#define RETURN_IF_NULL(A, result)
#define ERROR(status, msg)
#define RETURN_IF_XTYPE_INVALID(A, xtype1, xtype2, result)
int CHOLMOD() dense_xtype(int to_xtype, cholmod_dense *X, cholmod_common *Common)