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