|
| #define | m_move mesch_m_move |
| |
| #define | OUT mesch_out |
| |
| #define | NEW(type) ((type *)calloc((size_t)1,(size_t)sizeof(type))) |
| |
| #define | NEW_A(num, type) ((type *)calloc((size_t)(num),(size_t)sizeof(type))) |
| |
| #define | RENEW(var, num, type) |
| |
| #define | MEMCOPY(from, to, n_items, type) MEM_COPY((char *)(from),(char *)(to),(unsigned)(n_items)*sizeof(type)) |
| |
| #define | max(a, b) ((a) > (b) ? (a) : (b)) |
| |
| #define | min(a, b) ((a) > (b) ? (b) : (a)) |
| |
| #define | TRUE 1 |
| |
| #define | FALSE 0 |
| |
| #define | MAXLINE 81 |
| |
| #define | M_FREE(mat) ( m_free(mat), (mat)=(MAT *)NULL ) |
| |
| #define | V_FREE(vec) ( v_free(vec), (vec)=(VEC *)NULL ) |
| |
| #define | PX_FREE(px) ( px_free(px), (px)=(PERM *)NULL ) |
| |
| #define | IV_FREE(iv) ( iv_free(iv), (iv)=(IVEC *)NULL ) |
| |
| #define | MAXDIM 2001 |
| |
| #define | v_entry(x, i) ((x)->ve[i]) |
| |
| #define | v_set_val(x, i, val) ((x)->ve[i] = (val)) |
| |
| #define | v_add_val(x, i, val) ((x)->ve[i] += (val)) |
| |
| #define | v_sub_val(x, i, val) ((x)->ve[i] -= (val)) |
| |
| #define | m_entry(A, i, j) ((A)->me[i][j]) |
| |
| #define | m_set_val(A, i, j, val) ((A)->me[i][j] = (val) ) |
| |
| #define | m_add_val(A, i, j, val) ((A)->me[i][j] += (val) ) |
| |
| #define | m_sub_val(A, i, j, val) ((A)->me[i][j] -= (val) ) |
| |
| #define | v_output(vec) v_foutput(stdout,vec) |
| |
| #define | v_input(vec) v_finput(stdin,vec) |
| |
| #define | m_output(mat) m_foutput(stdout,mat) |
| |
| #define | m_input(mat) m_finput(stdin,mat) |
| |
| #define | px_output(px) px_foutput(stdout,px) |
| |
| #define | px_input(px) px_finput(stdin,px) |
| |
| #define | iv_output(iv) iv_foutput(stdout,iv) |
| |
| #define | iv_input(iv) iv_finput(stdin,iv) |
| |
| #define | finput(fp, prompt, fmt, var) |
| |
| #define | input(prompt, fmt, var) finput(stdin,prompt,fmt,var) |
| |
| #define | fprompter(fp, prompt) ( isatty(fileno(fp)) ? fprintf(stderr,prompt) : skipjunk(fp) ) |
| |
| #define | prompter(prompt) fprompter(stdin,prompt) |
| |
| #define | y_or_n(s) fy_or_n(stdin,s) |
| |
| #define | in_int(s, lo, hi) fin_int(stdin,s,lo,hi) |
| |
| #define | in_double(s, lo, hi) fin_double(stdin,s,lo,hi) |
| |
| #define | m_copy(in, out) _m_copy(in,out,0,0) |
| |
| #define | v_copy(in, out) _v_copy(in,out,0) |
| |
| #define | in_prod(a, b) _in_prod(a,b,0) |
| |
| #define | v_norm1(x) _v_norm1(x,VNULL) |
| |
| #define | v_norm2(x) _v_norm2(x,VNULL) |
| |
| #define | v_norm_inf(x) _v_norm_inf(x,VNULL) |
| |
| #define | set_row(mat, row, vec) _set_row(mat,row,vec,0) |
| |
| #define | set_col(mat, col, vec) _set_col(mat,col,vec,0) |
| |
| #define | VNULL ((VEC *)NULL) |
| |
| #define | MNULL ((MAT *)NULL) |
| |
| #define | PNULL ((PERM *)NULL) |
| |
| #define | IVNULL ((IVEC *)NULL) |
| |
| #define | BDNULL ((BAND *)NULL) |
| |
|
| void | m_version (void) |
| |
| VEC * | v_get (int) |
| |
| VEC * | v_resize (VEC *, int) |
| |
| MAT * | m_get (int, int) |
| |
| MAT * | m_resize (MAT *, int, int) |
| |
| PERM * | px_get (int) |
| |
| PERM * | px_resize (PERM *, int) |
| |
| IVEC * | iv_get (int) |
| |
| IVEC * | iv_resize (IVEC *, int) |
| |
| BAND * | bd_get (int, int, int) |
| |
| BAND * | bd_resize (BAND *, int, int, int) |
| |
| int | iv_free (IVEC *) |
| |
| int | m_free (MAT *) |
| |
| int | v_free (VEC *) |
| |
| int | px_free (PERM *) |
| |
| int | bd_free (BAND *) |
| |
| void | v_foutput (FILE *fp, VEC *x) |
| |
| void | m_foutput (FILE *fp, MAT *A) |
| |
| void | px_foutput (FILE *fp, PERM *px) |
| |
| void | iv_foutput (FILE *fp, IVEC *ix) |
| |
| VEC * | v_finput (FILE *fp, VEC *out) |
| |
| MAT * | m_finput (FILE *fp, MAT *out) |
| |
| PERM * | px_finput (FILE *fp, PERM *out) |
| |
| IVEC * | iv_finput (FILE *fp, IVEC *out) |
| |
| int | fy_or_n (FILE *fp, char *s) |
| |
| int | yn_dflt (int val) |
| |
| int | fin_int (FILE *fp, char *s, int low, int high) |
| |
| double | fin_double (FILE *fp, char *s, double low, double high) |
| |
| int | skipjunk (FILE *fp) |
| |
| MAT * | _m_copy (MAT *in, MAT *out, u_int i0, u_int j0) |
| |
| MAT * | m_move (MAT *in, int, int, int, int, MAT *out, int, int) |
| |
| MAT * | vm_move (VEC *in, int, MAT *out, int, int, int, int) |
| |
| VEC * | _v_copy (VEC *in, VEC *out, u_int i0) |
| |
| VEC * | v_move (VEC *in, int, int, VEC *out, int) |
| |
| VEC * | mv_move (MAT *in, int, int, int, int, VEC *out, int) |
| |
| PERM * | px_copy (PERM *in, PERM *out) |
| |
| IVEC * | iv_copy (IVEC *in, IVEC *out) |
| |
| IVEC * | iv_move (IVEC *in, int, int, IVEC *out, int) |
| |
| BAND * | bd_copy (BAND *in, BAND *out) |
| |
| VEC * | v_zero (VEC *) |
| |
| VEC * | v_rand (VEC *) |
| |
| VEC * | v_ones (VEC *) |
| |
| MAT * | m_zero (MAT *) |
| |
| MAT * | m_ident (MAT *) |
| |
| MAT * | m_rand (MAT *) |
| |
| MAT * | m_ones (MAT *) |
| |
| PERM * | px_ident (PERM *) |
| |
| IVEC * | iv_zero (IVEC *) |
| |
| VEC * | sv_mlt (double, VEC *, VEC *) |
| |
| VEC * | mv_mlt (MAT *, VEC *, VEC *) |
| |
| VEC * | vm_mlt (MAT *, VEC *, VEC *) |
| |
| VEC * | v_add (VEC *, VEC *, VEC *) |
| |
| VEC * | v_sub (VEC *, VEC *, VEC *) |
| |
| VEC * | px_vec (PERM *, VEC *, VEC *) |
| |
| VEC * | pxinv_vec (PERM *, VEC *, VEC *) |
| |
| VEC * | v_mltadd (VEC *, VEC *, double, VEC *) |
| |
| VEC * | v_map (double(*f)(), VEC *, VEC *) |
| |
| VEC * | _v_map (double(*f)(), void *, VEC *, VEC *) |
| |
| VEC * | v_lincomb (int, VEC **, Real *, VEC *) |
| |
| VEC * | v_linlist (VEC *out, VEC *v1, double a1,...) |
| |
| double | v_min (VEC *, int *) |
| |
| double | v_max (VEC *, int *) |
| |
| double | v_sum (VEC *) |
| |
| VEC * | v_star (VEC *, VEC *, VEC *) |
| |
| VEC * | v_slash (VEC *, VEC *, VEC *) |
| |
| VEC * | v_sort (VEC *, PERM *) |
| |
| double | _in_prod (VEC *x, VEC *y, u_int i0) |
| |
| double | __ip__ (Real *, Real *, int) |
| |
| void | __mltadd__ (Real *, Real *, double, int) |
| |
| void | __add__ (Real *, Real *, Real *, int) |
| |
| void | __sub__ (Real *, Real *, Real *, int) |
| |
| void | __smlt__ (Real *, double, Real *, int) |
| |
| void | __zero__ (Real *, int) |
| |
| double | _v_norm1 (VEC *x, VEC *scale) |
| |
| double | _v_norm2 (VEC *x, VEC *scale) |
| |
| double | _v_norm_inf (VEC *x, VEC *scale) |
| |
| double | m_norm1 (MAT *A) |
| |
| double | m_norm_inf (MAT *A) |
| |
| double | m_norm_frob (MAT *A) |
| |
| MAT * | sm_mlt (double s, MAT *A, MAT *out) |
| |
| MAT * | m_mlt (MAT *A, MAT *B, MAT *out) |
| |
| MAT * | mmtr_mlt (MAT *A, MAT *B, MAT *out) |
| |
| MAT * | mtrm_mlt (MAT *A, MAT *B, MAT *out) |
| |
| MAT * | m_add (MAT *A, MAT *B, MAT *out) |
| |
| MAT * | m_sub (MAT *A, MAT *B, MAT *out) |
| |
| MAT * | sub_mat (MAT *A, u_int, u_int, u_int, u_int, MAT *out) |
| |
| MAT * | m_transp (MAT *A, MAT *out) |
| |
| MAT * | ms_mltadd (MAT *A, MAT *B, double s, MAT *out) |
| |
| BAND * | bd_transp (BAND *in, BAND *out) |
| |
| MAT * | px_rows (PERM *px, MAT *A, MAT *out) |
| |
| MAT * | px_cols (PERM *px, MAT *A, MAT *out) |
| |
| MAT * | swap_rows (MAT *, int, int, int, int) |
| |
| MAT * | swap_cols (MAT *, int, int, int, int) |
| |
| MAT * | _set_col (MAT *A, u_int i, VEC *out, u_int j0) |
| |
| MAT * | _set_row (MAT *A, u_int j, VEC *out, u_int i0) |
| |
| VEC * | get_row (MAT *, u_int, VEC *) |
| |
| VEC * | get_col (MAT *, u_int, VEC *) |
| |
| VEC * | sub_vec (VEC *, int, int, VEC *) |
| |
| VEC * | mv_mltadd (VEC *x, VEC *y, MAT *A, double s, VEC *out) |
| |
| VEC * | vm_mltadd (VEC *x, VEC *y, MAT *A, double s, VEC *out) |
| |
| PERM * | px_mlt (PERM *px1, PERM *px2, PERM *out) |
| |
| PERM * | px_inv (PERM *px, PERM *out) |
| |
| PERM * | px_transp (PERM *px, u_int i, u_int j) |
| |
| int | px_sign (PERM *) |
| |
| IVEC * | iv_add (IVEC *ix, IVEC *iy, IVEC *out) |
| |
| IVEC * | iv_sub (IVEC *ix, IVEC *iy, IVEC *out) |
| |
| IVEC * | iv_sort (IVEC *ix, PERM *order) |
| |
| double | square (double x) |
| |
| double | cube (double x) |
| |
| double | mrand (void) |
| |
| void | smrand (int seed) |
| |
| void | mrandlist (Real *x, int len) |
| |
| void | m_dump (FILE *fp, MAT *a) |
| |
| void | px_dump (FILE *, PERM *px) |
| |
| void | v_dump (FILE *fp, VEC *x) |
| |
| void | iv_dump (FILE *fp, IVEC *ix) |
| |
| MAT * | band2mat (BAND *bA, MAT *A) |
| |
| BAND * | mat2band (MAT *A, int lb, int ub, BAND *bA) |
| |
| int | v_get_vars (int dim,...) |
| |
| int | iv_get_vars (int dim,...) |
| |
| int | m_get_vars (int m, int n,...) |
| |
| int | px_get_vars (int dim,...) |
| |
| int | v_resize_vars (int new_dim,...) |
| |
| int | iv_resize_vars (int new_dim,...) |
| |
| int | m_resize_vars (int m, int n,...) |
| |
| int | px_resize_vars (int new_dim,...) |
| |
| int | v_free_vars (VEC **,...) |
| |
| int | iv_free_vars (IVEC **,...) |
| |
| int | px_free_vars (PERM **,...) |
| |
| int | m_free_vars (MAT **,...) |
| |