SCM

SCM Repository

[matrix] Annotation of /pkg/Matrix/src/CHOLMOD/Include/cholmod.h
ViewVC logotype

Annotation of /pkg/Matrix/src/CHOLMOD/Include/cholmod.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2915 - (view) (download) (as text)

1 : bates 912 /* ========================================================================== */
2 :     /* === Include/cholmod.h ==================================================== */
3 :     /* ========================================================================== */
4 :    
5 :     /* -----------------------------------------------------------------------------
6 : bates 1876 * CHOLMOD/Include/cholmod.h.
7 : mmaechler 2915 * Copyright (C) 2005-2013, Univ. of Florida. Author: Timothy A. Davis
8 : bates 912 * 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 : dmbates 2798 * http://www.suitesparse.com
12 : bates 912 *
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 : dmbates 2798 * (0) otherwise. A SuiteSparse_long or double return value is >= 0 if
41 :     * successful, or -1 otherwise. A size_t return value is > 0 if
42 :     * successful, or 0 otherwise.
43 : bates 912 *
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 CHOLMOD_H
76 :     #define CHOLMOD_H
77 :    
78 :     /* make it easy for C++ programs to include CHOLMOD */
79 :     #ifdef __cplusplus
80 :     extern "C" {
81 :     #endif
82 :    
83 : bates 1876 /* assume large file support. If problems occur, compile with -DNLARGEFILE */
84 :     #include "cholmod_io64.h"
85 :    
86 : mmaechler 2915 #include "SuiteSparse_config.h"
87 : bates 1515
88 : bates 912 #include "cholmod_config.h"
89 :    
90 :     /* CHOLMOD always includes the Core module. */
91 :     #include "cholmod_core.h"
92 :    
93 :     #ifndef NCHECK
94 :     #include "cholmod_check.h"
95 :     #endif
96 :    
97 :     #ifndef NCHOLESKY
98 :     #include "cholmod_cholesky.h"
99 :     #endif
100 :    
101 :     #ifndef NMATRIXOPS
102 :     #include "cholmod_matrixops.h"
103 :     #endif
104 :    
105 :     #ifndef NMODIFY
106 :     #include "cholmod_modify.h"
107 :     #endif
108 :    
109 : mmaechler 2915 #ifndef NCAMD
110 :     #include "cholmod_camd.h"
111 :     #endif
112 :    
113 : bates 912 #ifndef NPARTITION
114 :     #include "cholmod_partition.h"
115 :     #endif
116 :    
117 :     #ifndef NSUPERNODAL
118 :     #include "cholmod_supernodal.h"
119 :     #endif
120 :    
121 :     #ifdef __cplusplus
122 :     }
123 :     #endif
124 :    
125 :     #endif

root@r-forge.r-project.org
ViewVC Help
Powered by ViewVC 1.0.0  
Thanks to:
Vienna University of Economics and Business Powered By FusionForge