colamd.h 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. /* colamd.h */
  2. /* Written by Andrew Makhorin <mao@gnu.org>. */
  3. #ifndef COLAMD_H
  4. #define COLAMD_H
  5. #define _GLPSTD_STDIO
  6. #include "glpenv.h"
  7. #define COLAMD_DATE "Nov 1, 2007"
  8. #define COLAMD_VERSION_CODE(main, sub) ((main) * 1000 + (sub))
  9. #define COLAMD_MAIN_VERSION 2
  10. #define COLAMD_SUB_VERSION 7
  11. #define COLAMD_SUBSUB_VERSION 1
  12. #define COLAMD_VERSION \
  13. COLAMD_VERSION_CODE(COLAMD_MAIN_VERSION, COLAMD_SUB_VERSION)
  14. #define COLAMD_KNOBS 20
  15. #define COLAMD_STATS 20
  16. #define COLAMD_DENSE_ROW 0
  17. #define COLAMD_DENSE_COL 1
  18. #define COLAMD_AGGRESSIVE 2
  19. #define COLAMD_DEFRAG_COUNT 2
  20. #define COLAMD_STATUS 3
  21. #define COLAMD_INFO1 4
  22. #define COLAMD_INFO2 5
  23. #define COLAMD_INFO3 6
  24. #define COLAMD_OK (0)
  25. #define COLAMD_OK_BUT_JUMBLED (1)
  26. #define COLAMD_ERROR_A_not_present (-1)
  27. #define COLAMD_ERROR_p_not_present (-2)
  28. #define COLAMD_ERROR_nrow_negative (-3)
  29. #define COLAMD_ERROR_ncol_negative (-4)
  30. #define COLAMD_ERROR_nnz_negative (-5)
  31. #define COLAMD_ERROR_p0_nonzero (-6)
  32. #define COLAMD_ERROR_A_too_small (-7)
  33. #define COLAMD_ERROR_col_length_negative (-8)
  34. #define COLAMD_ERROR_row_index_out_of_bounds (-9)
  35. #define COLAMD_ERROR_out_of_memory (-10)
  36. #define COLAMD_ERROR_internal_error (-999)
  37. #define colamd_recommended _glp_colamd_recommended
  38. size_t colamd_recommended(int nnz, int n_row, int n_col);
  39. #define colamd_set_defaults _glp_colamd_set_defaults
  40. void colamd_set_defaults(double knobs [COLAMD_KNOBS]);
  41. #define colamd _glp_colamd
  42. int colamd(int n_row, int n_col, int Alen, int A[], int p[],
  43. double knobs[COLAMD_KNOBS], int stats[COLAMD_STATS]);
  44. #define symamd _glp_symamd
  45. int symamd(int n, int A[], int p[], int perm[],
  46. double knobs[COLAMD_KNOBS], int stats[COLAMD_STATS],
  47. void *(*allocate)(size_t, size_t), void(*release)(void *));
  48. #define colamd_report _glp_colamd_report
  49. void colamd_report(int stats[COLAMD_STATS]);
  50. #define symamd_report _glp_symamd_report
  51. void symamd_report(int stats[COLAMD_STATS]);
  52. #define colamd_printf xprintf
  53. #endif
  54. /* eof */