1 /* ========================================================================== */ 2 /* === UMFPACK_defaults ===================================================== */ 3 /* ========================================================================== */ 4 5 /* -------------------------------------------------------------------------- */ 6 /* Copyright (c) 2005-2012 by Timothy A. Davis, http://www.suitesparse.com. */ 7 /* All Rights Reserved. See ../Doc/License.txt for License. */ 8 /* -------------------------------------------------------------------------- */ 9 10 /* 11 User-callable. Sets default control parameters. See umfpack_defaults.h 12 for details. 13 */ 14 15 #include "umf_internal.h" 16 UMFPACK_defaults(double Control[UMFPACK_CONTROL])17GLOBAL void UMFPACK_defaults 18 ( 19 double Control [UMFPACK_CONTROL] 20 ) 21 { 22 Int i ; 23 24 if (!Control) 25 { 26 /* silently return if no Control array */ 27 return ; 28 } 29 30 for (i = 0 ; i < UMFPACK_CONTROL ; i++) 31 { 32 Control [i] = 0 ; 33 } 34 35 /* ---------------------------------------------------------------------- */ 36 /* default control settings: can be modified at run-time */ 37 /* ---------------------------------------------------------------------- */ 38 39 /* used in UMFPACK_report_* routines: */ 40 Control [UMFPACK_PRL] = UMFPACK_DEFAULT_PRL ; 41 42 Control [UMFPACK_DENSE_ROW] = UMFPACK_DEFAULT_DENSE_ROW ; 43 Control [UMFPACK_DENSE_COL] = UMFPACK_DEFAULT_DENSE_COL ; 44 Control [UMFPACK_AMD_DENSE] = UMFPACK_DEFAULT_AMD_DENSE ; 45 Control [UMFPACK_STRATEGY] = UMFPACK_DEFAULT_STRATEGY ; 46 Control [UMFPACK_AGGRESSIVE] = UMFPACK_DEFAULT_AGGRESSIVE ; 47 Control [UMFPACK_SINGLETONS] = UMFPACK_DEFAULT_SINGLETONS ; 48 Control [UMFPACK_ORDERING] = UMFPACK_DEFAULT_ORDERING ; 49 Control [UMFPACK_PIVOT_TOLERANCE] = UMFPACK_DEFAULT_PIVOT_TOLERANCE ; 50 Control [UMFPACK_SYM_PIVOT_TOLERANCE] = UMFPACK_DEFAULT_SYM_PIVOT_TOLERANCE; 51 Control [UMFPACK_BLOCK_SIZE] = UMFPACK_DEFAULT_BLOCK_SIZE ; 52 Control [UMFPACK_ALLOC_INIT] = UMFPACK_DEFAULT_ALLOC_INIT ; 53 Control [UMFPACK_FRONT_ALLOC_INIT] = UMFPACK_DEFAULT_FRONT_ALLOC_INIT ; 54 Control [UMFPACK_SCALE] = UMFPACK_DEFAULT_SCALE ; 55 56 /* used in UMFPACK_*solve: */ 57 Control [UMFPACK_IRSTEP] = UMFPACK_DEFAULT_IRSTEP ; 58 59 /* ---------------------------------------------------------------------- */ 60 /* compile-time settings: cannot be modified at run-time */ 61 /* ---------------------------------------------------------------------- */ 62 63 #ifdef NBLAS 64 /* do not use the BLAS - use in-line C code instead */ 65 Control [UMFPACK_COMPILED_WITH_BLAS] = 0 ; 66 #else 67 /* use externally-provided BLAS (dgemm, dger, dgemv, zgemm, zgeru, zgemv) */ 68 Control [UMFPACK_COMPILED_WITH_BLAS] = 1 ; 69 #endif 70 } 71