Amesos Package Browser (Single Doxygen Collection)  Development
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
amesos_cholmod.h
Go to the documentation of this file.
1 /* ========================================================================== */
2 /* === Include/cholmod.h ==================================================== */
3 /* ========================================================================== */
4 
5 /* -----------------------------------------------------------------------------
6  * CHOLMOD/Include/cholmod.h.
7  * Copyright (C) 2005-2006, Univ. of Florida. Author: Timothy A. Davis
8  * CHOLMOD/Include/cholmod.h is licensed under Version 2.1 of the GNU
9  * Lesser General Public License. See lesser.txt for a text of the license.
10  * CHOLMOD is also available under other licenses; contact authors for details.
11  * http://www.cise.ufl.edu/research/sparse
12  *
13  * Portions of CHOLMOD (the Core and Partition Modules) are copyrighted by the
14  * University of Florida. The Modify Module is co-authored by William W.
15  * Hager, Univ. of Florida.
16  *
17  * Acknowledgements: this work was supported in part by the National Science
18  * Foundation (NFS CCR-0203270 and DMS-9803599), and a grant from Sandia
19  * National Laboratories (Dept. of Energy) which supported the development of
20  * CHOLMOD's Partition Module.
21  * -------------------------------------------------------------------------- */
22 
23 /* CHOLMOD include file, for inclusion user programs.
24  *
25  * The include files listed below include a short description of each user-
26  * callable routine. Each routine in CHOLMOD has a consistent interface.
27  * More details about the CHOLMOD data types is in the cholmod_core.h file.
28  *
29  * Naming convention:
30  * ------------------
31  *
32  * All routine names, data types, and CHOLMOD library files use the
33  * cholmod_ prefix. All macros and other #define's use the CHOLMOD
34  * prefix.
35  *
36  * Return value:
37  * -------------
38  *
39  * Most CHOLMOD routines return an int (TRUE (1) if successful, or FALSE
40  * (0) otherwise. A UF_long or double return value is >= 0 if successful,
41  * or -1 otherwise. A size_t return value is > 0 if successful, or 0
42  * otherwise.
43  *
44  * If a routine returns a pointer, it is a pointer to a newly allocated
45  * object or NULL if a failure occured, with one exception. cholmod_free
46  * always returns NULL.
47  *
48  * "Common" parameter:
49  * ------------------
50  *
51  * The last parameter in all CHOLMOD routines is a pointer to the CHOLMOD
52  * "Common" object. This contains control parameters, statistics, and
53  * workspace used between calls to CHOLMOD. It is always an input/output
54  * parameter.
55  *
56  * Input, Output, and Input/Output parameters:
57  * -------------------------------------------
58  *
59  * Input parameters are listed first. They are not modified by CHOLMOD.
60  *
61  * Input/output are listed next. They must be defined on input, and
62  * are modified on output.
63  *
64  * Output parameters are listed next. If they are pointers, they must
65  * point to allocated space on input, but their contents are not defined
66  * on input.
67  *
68  * Workspace parameters appear next. They are used in only two routines
69  * in the Supernodal module.
70  *
71  * The cholmod_common *Common parameter always appears as the last
72  * parameter. It is always an input/output parameter.
73  */
74 
75 #ifndef AMESOS_CHOLMOD_H
76 #define AMESOS_CHOLMOD_H
77 
78 /* make it easy for C++ programs to include CHOLMOD */
79 #ifdef __cplusplus
80 extern "C" {
81 #endif
82 
83 /* assume large file support. If problems occur, compile with -DNLARGEFILE */
84 #include "amesos_cholmod_io64.h"
85 
86 /* define UF_long */
87 #include "amesos_UFconfig.h"
88 
89 #include "amesos_cholmod_config.h"
90 
91 /* CHOLMOD always includes the Core module. */
92 #include "amesos_cholmod_core.h"
93 
94 #ifndef NCHECK
95 #include "amesos_cholmod_check.h"
96 #endif
97 
98 #ifndef NCHOLESKY
100 #endif
101 
102 #ifndef NPARTITION
104 #endif
105 
106 #ifdef __cplusplus
107 }
108 #endif
109 
110 #endif