src/amd/amd_control.c
changeset 1 c445c931472f
equal deleted inserted replaced
-1:000000000000 0:faf68f6f31d9
       
     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 }