|
| #define | LINT NO |
| |
| #define | BOOLEAN int |
| |
| #define | NO 0 |
| |
| #define | YES 1 |
| |
| #define | NOT ! |
| |
| #define | AND && |
| |
| #define | OR || |
| |
| #define | NULL 0 |
| |
| #define | SPARSE_ID 0x772773 /* Arbitrary (is Sparse on phone). */ |
| |
| #define | IS_SPARSE(matrix) |
| |
| #define | IS_VALID(matrix) |
| |
| #define | IS_FACTORED(matrix) ((matrix)->Factored && !(matrix)->NeedsOrdering) |
| |
| #define | MAX(a, b) ((a) > (b) ? (a) : (b)) |
| |
| #define | MIN(a, b) ((a) < (b) ? (a) : (b)) |
| |
| #define | ABS(a) ((a) < 0.0 ? -(a) : (a)) |
| |
| #define | SQR(a) ((a)*(a)) |
| |
| #define | SWAP(type, a, b) {type swapx; swapx = a; a = b; b = swapx;} |
| |
| #define | ELEMENT_MAG(ptr) ((ptr)->Real < 0.0 ? -(ptr)->Real : (ptr)->Real) |
| |
| #define | CMPLX_ASSIGN(to, from) |
| |
| #define | CMPLX_CONJ_ASSIGN(to, from) |
| |
| #define | CMPLX_NEGATE_ASSIGN(to, from) |
| |
| #define | CMPLX_CONJ_NEGATE_ASSIGN(to, from) |
| |
| #define | CMPLX_CONJ(a) (a).Imag = -(a).Imag |
| |
| #define | CMPLX_NEGATE(a) |
| |
| #define | CMPLX_1_NORM(a) (ABS((a).Real) + ABS((a).Imag)) |
| |
| #define | CMPLX_INF_NORM(a) (MAX (ABS((a).Real),ABS((a).Imag))) |
| |
| #define | CMPLX_2_NORM(a) (sqrt((a).Real*(a).Real + (a).Imag*(a).Imag)) |
| |
| #define | CMPLX_ADD(to, from_a, from_b) |
| |
| #define | CMPLX_SUBT(to, from_a, from_b) |
| |
| #define | CMPLX_ADD_ASSIGN(to, from) |
| |
| #define | CMPLX_SUBT_ASSIGN(to, from) |
| |
| #define | SCLR_MULT(to, sclr, cmplx) |
| |
| #define | SCLR_MULT_ASSIGN(to, sclr) |
| |
| #define | CMPLX_MULT(to, from_a, from_b) |
| |
| #define | CMPLX_MULT_ASSIGN(to, from) |
| |
| #define | CMPLX_CONJ_MULT(to, from_a, from_b) |
| |
| #define | CMPLX_MULT_ADD(to, mult_a, mult_b, add) |
| |
| #define | CMPLX_MULT_SUBT(to, mult_a, mult_b, subt) |
| |
| #define | CMPLX_CONJ_MULT_ADD(to, mult_a, mult_b, add) |
| |
| #define | CMPLX_MULT_ADD_ASSIGN(to, from_a, from_b) |
| |
| #define | CMPLX_MULT_SUBT_ASSIGN(to, from_a, from_b) |
| |
| #define | CMPLX_CONJ_MULT_ADD_ASSIGN(to, from_a, from_b) |
| |
| #define | CMPLX_CONJ_MULT_SUBT_ASSIGN(to, from_a, from_b) |
| |
| #define | CMPLX_DIV(to, num, den) |
| |
| #define | CMPLX_DIV_ASSIGN(num, den) |
| |
| #define | CMPLX_RECIPROCAL(to, den) |
| |
| #define | ASSERT(condition) |
| |
| #define | ABORT() |
| |
| #define | IMAG_VECTORS |
| |
| #define | IMAG_RHS |
| |
| #define | ALLOC(type, number) ((type *)malloc((unsigned)(sizeof(type)*(number)))) |
| |
| #define | REALLOC(ptr, type, number) ptr = (type *)realloc((char *)ptr,(unsigned)(sizeof(type)*(number))) |
| |
| #define | FREE(ptr) { if ((ptr) != NULL) {char* p = (char*)(ptr); (ptr) = NULL; free(p);} } |
| |
| #define | CALLOC(ptr, type, number) |
| |