33 #ifndef AMESOS_CHOLMOD_INTERNAL_H 34 #define AMESOS_CHOLMOD_INTERNAL_H 60 #if !defined(NPRINT) || !defined(NDEBUG) 79 #define BOOLEAN(x) ((x) ? TRUE : FALSE) 83 #define NULL ((void *) 0) 91 #define FLIP(i) (-(i)-2) 92 #define UNFLIP(i) (((i) < EMPTY) ? FLIP (i) : (i)) 95 #define MAX(a,b) (((a) > (b)) ? (a) : (b)) 96 #define MAX3(a,b,c) (((a) > (b)) ? (MAX (a,c)) : (MAX (b,c))) 97 #define MAX4(a,b,c,d) (((a) > (b)) ? (MAX3 (a,c,d)) : (MAX3 (b,c,d))) 98 #define MIN(a,b) (((a) < (b)) ? (a) : (b)) 99 #define IMPLIES(p,q) (!(p) || (q)) 103 #define SIGN(x) (((x) < 0) ? (-1) : (((x) > 0) ? 1 : 0)) 106 #define ROUNDUP(x,s) ((s) * (((x) + ((s) - 1)) / (s))) 108 #define ERROR(status,msg) \ 109 CHOLMOD(error) (status, __FILE__, __LINE__, msg, Common) 113 #define RETURN_IF_NULL(A,result) \ 117 if (Common->status != CHOLMOD_OUT_OF_MEMORY) \ 119 ERROR (CHOLMOD_INVALID, "argument missing") ; \ 126 #define RETURN_IF_NULL_COMMON(result) \ 128 if (Common == NULL) \ 132 if (Common->itype != ITYPE || Common->dtype != DTYPE) \ 134 Common->status = CHOLMOD_INVALID ; \ 139 #define IS_NAN(x) CHOLMOD_IS_NAN(x) 140 #define IS_ZERO(x) CHOLMOD_IS_ZERO(x) 141 #define IS_NONZERO(x) CHOLMOD_IS_NONZERO(x) 142 #define IS_LT_ZERO(x) CHOLMOD_IS_LT_ZERO(x) 143 #define IS_GT_ZERO(x) CHOLMOD_IS_GT_ZERO(x) 144 #define IS_LE_ZERO(x) CHOLMOD_IS_LE_ZERO(x) 151 #define HUGE_DOUBLE 1e308 206 #define Size_max ((size_t) (-1)) 221 #define Int_max UF_long_max 222 #define CHOLMOD(name) amesos_cholmod_l_ ## name 225 #define ITYPE CHOLMOD_LONG 226 #define DTYPE CHOLMOD_DOUBLE 227 #define ID UF_long_id 234 #error "mixed int/UF_long not yet supported" 241 #error "single-precision not yet supported" 247 #elif defined (SLONG) 248 #error "single-precision not yet supported" 255 #error "single-precision not yet supported" 271 #define Int_max INT_MAX 272 #define CHOLMOD(name) amesos_cholmod_ ## name 273 #define ITYPE CHOLMOD_INT 274 #define DTYPE CHOLMOD_DOUBLE 308 #define EXTERN extern 312 EXTERN int amesos_cholmod_dump ;
313 EXTERN int amesos_cholmod_dump_malloc ;
318 int amesos_cholmod_dump_subset (
int *,
size_t,
size_t,
char *,
cholmod_common *) ;
319 int amesos_cholmod_dump_perm (
int *,
size_t,
size_t,
char *,
cholmod_common *) ;
320 int amesos_cholmod_dump_parent (
int *,
size_t,
char *,
cholmod_common *) ;
325 void amesos_cholmod_dump_super (
UF_long,
int *,
int *,
int *,
int *,
double *,
int,
327 int amesos_cholmod_dump_partition (
UF_long,
int *,
int *,
int *,
int *,
UF_long,
332 EXTERN int amesos_cholmod_l_dump ;
333 EXTERN int amesos_cholmod_l_dump_malloc ;
338 int amesos_cholmod_l_dump_subset (
UF_long *,
size_t,
size_t,
char *,
352 #define DEBUG_INIT(s) { CHOLMOD(dump_init)(s, Common) ; } 353 #define PK_DEBUG_INIT(s,Common) { CHOLMOD(dump_init)(s, Common) ; } 355 #define ASSERT(expression) (assert (expression)) 357 #define PRK(k,params) \ 359 if (CHOLMOD(dump) >= (k) && Common->print_function != NULL) \ 361 (Common->print_function) params ; \ 365 #define PRINT0(params) PRK (0, params) 366 #define PRINT1(params) PRK (1, params) 367 #define PRINT2(params) PRK (2, params) 368 #define PRINT3(params) PRK (3, params) 369 #define PRINTM(params) PRK (CHOLMOD(dump_malloc), params) 371 #define DEBUG(statement) statement 376 #define PRK(k,params) 377 #define DEBUG_INIT(s) 378 #define PK_DEBUG_INIT(s,Common) 379 #define PRINT0(params) 380 #define PRINT1(params) 381 #define PRINT2(params) 382 #define PRINT3(params) 383 #define PRINTM(params) 384 #define ASSERT(expression) 385 #define DEBUG(statement)
size_t amesos_cholmod_mult_size_t(size_t a, size_t k, int *ok)
size_t amesos_cholmod_l_add_size_t(size_t a, size_t b, int *ok)
size_t amesos_cholmod_add_size_t(size_t a, size_t b, int *ok)
size_t amesos_cholmod_l_mult_size_t(size_t a, size_t k, int *ok)