Amesos Package Browser (Single Doxygen Collection) Development
amesos_cholmod.h
Go to the documentation of this file.
00001 /* ========================================================================== */
00002 /* === Include/cholmod.h ==================================================== */
00003 /* ========================================================================== */
00004 
00005 /* -----------------------------------------------------------------------------
00006  * CHOLMOD/Include/cholmod.h.
00007  * Copyright (C) 2005-2006, Univ. of Florida.  Author: Timothy A. Davis
00008  * CHOLMOD/Include/cholmod.h is licensed under Version 2.1 of the GNU
00009  * Lesser General Public License.  See lesser.txt for a text of the license.
00010  * CHOLMOD is also available under other licenses; contact authors for details.
00011  * http://www.cise.ufl.edu/research/sparse
00012  *
00013  * Portions of CHOLMOD (the Core and Partition Modules) are copyrighted by the
00014  * University of Florida.  The Modify Module is co-authored by William W.
00015  * Hager, Univ. of Florida.
00016  *
00017  * Acknowledgements:  this work was supported in part by the National Science
00018  * Foundation (NFS CCR-0203270 and DMS-9803599), and a grant from Sandia
00019  * National Laboratories (Dept. of Energy) which supported the development of
00020  * CHOLMOD's Partition Module.
00021  * -------------------------------------------------------------------------- */
00022 
00023 /* CHOLMOD include file, for inclusion user programs.
00024  *
00025  * The include files listed below include a short description of each user-
00026  * callable routine.  Each routine in CHOLMOD has a consistent interface.
00027  * More details about the CHOLMOD data types is in the cholmod_core.h file.
00028  *
00029  * Naming convention:
00030  * ------------------
00031  *
00032  *  All routine names, data types, and CHOLMOD library files use the
00033  *  cholmod_ prefix.  All macros and other #define's use the CHOLMOD
00034  *  prefix.
00035  * 
00036  * Return value:
00037  * -------------
00038  *
00039  *  Most CHOLMOD routines return an int (TRUE (1) if successful, or FALSE
00040  *  (0) otherwise.  A UF_long or double return value is >= 0 if successful,
00041  *  or -1 otherwise.  A size_t return value is > 0 if successful, or 0
00042  *  otherwise.
00043  *
00044  *  If a routine returns a pointer, it is a pointer to a newly allocated
00045  *  object or NULL if a failure occured, with one exception.  cholmod_free
00046  *  always returns NULL.
00047  *
00048  * "Common" parameter:
00049  * ------------------
00050  *
00051  *  The last parameter in all CHOLMOD routines is a pointer to the CHOLMOD
00052  *  "Common" object.  This contains control parameters, statistics, and
00053  *  workspace used between calls to CHOLMOD.  It is always an input/output
00054  *  parameter.
00055  *
00056  * Input, Output, and Input/Output parameters:
00057  * -------------------------------------------
00058  *
00059  *  Input parameters are listed first.  They are not modified by CHOLMOD.
00060  *
00061  *  Input/output are listed next.  They must be defined on input, and
00062  *  are modified on output.
00063  *
00064  *  Output parameters are listed next.  If they are pointers, they must
00065  *  point to allocated space on input, but their contents are not defined
00066  *  on input.
00067  *
00068  *  Workspace parameters appear next.  They are used in only two routines
00069  *  in the Supernodal module.
00070  *
00071  *  The cholmod_common *Common parameter always appears as the last
00072  *  parameter.  It is always an input/output parameter.
00073  */
00074 
00075 #ifndef AMESOS_CHOLMOD_H
00076 #define AMESOS_CHOLMOD_H
00077 
00078 /* make it easy for C++ programs to include CHOLMOD */
00079 #ifdef __cplusplus
00080 extern "C" {
00081 #endif
00082 
00083 /* assume large file support.  If problems occur, compile with -DNLARGEFILE */
00084 #include "amesos_cholmod_io64.h"
00085 
00086 /* define UF_long */
00087 #include "amesos_UFconfig.h"
00088 
00089 #include "amesos_cholmod_config.h"
00090 
00091 /* CHOLMOD always includes the Core module. */
00092 #include "amesos_cholmod_core.h"
00093 
00094 #ifndef NCHECK
00095 #include "amesos_cholmod_check.h"
00096 #endif
00097 
00098 #ifndef NCHOLESKY
00099 #include "amesos_cholmod_cholesky.h"
00100 #endif
00101 
00102 #ifndef NPARTITION
00103 #include "amesos_cholmod_partition.h"
00104 #endif
00105 
00106 #ifdef __cplusplus
00107 }
00108 #endif
00109 
00110 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines