|
1 /* ========================================================================= */ |
|
2 /* === AMD_control ========================================================= */ |
|
3 /* ========================================================================= */ |
|
4 |
|
5 /* ------------------------------------------------------------------------- */ |
|
6 /* AMD, Copyright (c) Timothy A. Davis, */ |
|
7 /* Patrick R. Amestoy, and Iain S. Duff. See ../README.txt for License. */ |
|
8 /* email: davis at cise.ufl.edu CISE Department, Univ. of Florida. */ |
|
9 /* web: http://www.cise.ufl.edu/research/sparse/amd */ |
|
10 /* ------------------------------------------------------------------------- */ |
|
11 |
|
12 /* User-callable. Prints the control parameters for AMD. See amd.h |
|
13 * for details. If the Control array is not present, the defaults are |
|
14 * printed instead. |
|
15 */ |
|
16 |
|
17 #include "amd_internal.h" |
|
18 |
|
19 GLOBAL void AMD_control |
|
20 ( |
|
21 double Control [ ] |
|
22 ) |
|
23 { |
|
24 double alpha ; |
|
25 Int aggressive ; |
|
26 |
|
27 if (Control != (double *) NULL) |
|
28 { |
|
29 alpha = Control [AMD_DENSE] ; |
|
30 aggressive = Control [AMD_AGGRESSIVE] != 0 ; |
|
31 } |
|
32 else |
|
33 { |
|
34 alpha = AMD_DEFAULT_DENSE ; |
|
35 aggressive = AMD_DEFAULT_AGGRESSIVE ; |
|
36 } |
|
37 |
|
38 PRINTF (("\nAMD version %d.%d.%d, %s: approximate minimum degree ordering\n" |
|
39 " dense row parameter: %g\n", AMD_MAIN_VERSION, AMD_SUB_VERSION, |
|
40 AMD_SUBSUB_VERSION, AMD_DATE, alpha)) ; |
|
41 |
|
42 if (alpha < 0) |
|
43 { |
|
44 PRINTF ((" no rows treated as dense\n")) ; |
|
45 } |
|
46 else |
|
47 { |
|
48 PRINTF (( |
|
49 " (rows with more than max (%g * sqrt (n), 16) entries are\n" |
|
50 " considered \"dense\", and placed last in output permutation)\n", |
|
51 alpha)) ; |
|
52 } |
|
53 |
|
54 if (aggressive) |
|
55 { |
|
56 PRINTF ((" aggressive absorption: yes\n")) ; |
|
57 } |
|
58 else |
|
59 { |
|
60 PRINTF ((" aggressive absorption: no\n")) ; |
|
61 } |
|
62 |
|
63 PRINTF ((" size of AMD integer: %d\n\n", sizeof (Int))) ; |
|
64 } |