src/amd/amd_control.c
author Alpar Juttner <alpar@cs.elte.hu>
Sun, 05 Dec 2010 17:35:23 +0100
changeset 2 4c8956a7bdf4
permissions -rw-r--r--
Set up CMAKE build environment
     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 }