alpar@1: /* ========================================================================= */ alpar@1: /* === AMD_control ========================================================= */ alpar@1: /* ========================================================================= */ alpar@1: alpar@1: /* ------------------------------------------------------------------------- */ alpar@1: /* AMD, Copyright (c) Timothy A. Davis, */ alpar@1: /* Patrick R. Amestoy, and Iain S. Duff. See ../README.txt for License. */ alpar@1: /* email: davis at cise.ufl.edu CISE Department, Univ. of Florida. */ alpar@1: /* web: http://www.cise.ufl.edu/research/sparse/amd */ alpar@1: /* ------------------------------------------------------------------------- */ alpar@1: alpar@1: /* User-callable. Prints the control parameters for AMD. See amd.h alpar@1: * for details. If the Control array is not present, the defaults are alpar@1: * printed instead. alpar@1: */ alpar@1: alpar@1: #include "amd_internal.h" alpar@1: alpar@1: GLOBAL void AMD_control alpar@1: ( alpar@1: double Control [ ] alpar@1: ) alpar@1: { alpar@1: double alpha ; alpar@1: Int aggressive ; alpar@1: alpar@1: if (Control != (double *) NULL) alpar@1: { alpar@1: alpha = Control [AMD_DENSE] ; alpar@1: aggressive = Control [AMD_AGGRESSIVE] != 0 ; alpar@1: } alpar@1: else alpar@1: { alpar@1: alpha = AMD_DEFAULT_DENSE ; alpar@1: aggressive = AMD_DEFAULT_AGGRESSIVE ; alpar@1: } alpar@1: alpar@1: PRINTF (("\nAMD version %d.%d.%d, %s: approximate minimum degree ordering\n" alpar@1: " dense row parameter: %g\n", AMD_MAIN_VERSION, AMD_SUB_VERSION, alpar@1: AMD_SUBSUB_VERSION, AMD_DATE, alpha)) ; alpar@1: alpar@1: if (alpha < 0) alpar@1: { alpar@1: PRINTF ((" no rows treated as dense\n")) ; alpar@1: } alpar@1: else alpar@1: { alpar@1: PRINTF (( alpar@1: " (rows with more than max (%g * sqrt (n), 16) entries are\n" alpar@1: " considered \"dense\", and placed last in output permutation)\n", alpar@1: alpha)) ; alpar@1: } alpar@1: alpar@1: if (aggressive) alpar@1: { alpar@1: PRINTF ((" aggressive absorption: yes\n")) ; alpar@1: } alpar@1: else alpar@1: { alpar@1: PRINTF ((" aggressive absorption: no\n")) ; alpar@1: } alpar@1: alpar@1: PRINTF ((" size of AMD integer: %d\n\n", sizeof (Int))) ; alpar@1: }