dbl_dstruct.h

Go to the documentation of this file.
00001 /****************************************************************************/
00002 /*                                                                          */
00003 /*  This file is part of QSopt_ex.                                          */
00004 /*                                                                          */
00005 /*  (c) Copyright 2006 by David Applegate, William Cook, Sanjeeb Dash,      */
00006 /*  and Daniel Espinoza                                                     */
00007 /*                                                                          */
00008 /*  Sanjeeb Dash ownership of copyright in QSopt_ex is derived from his     */
00009 /*  copyright in QSopt.                                                     */
00010 /*                                                                          */
00011 /*  This code may be used under the terms of the GNU General Public License */
00012 /*  (Version 2.1 or later) as published by the Free Software Foundation.    */
00013 /*                                                                          */
00014 /*  Alternatively, use is granted for research purposes only.               */
00015 /*                                                                          */
00016 /*  It is your choice of which of these two licenses you are operating      */
00017 /*  under.                                                                  */
00018 /*                                                                          */
00019 /*  We make no guarantees about the correctness or usefulness of this code. */
00020 /*                                                                          */
00021 /****************************************************************************/
00022 
00023 /* RCSINFO $Id: dbl_dstruct.h,v 1.3 2003/11/05 16:57:39 meven Exp $ */
00024 /****************************************************************************/
00025 /*                                                                          */
00026 /*                           dbl_svector.h                                      */
00027 /*                                                                          */
00028 /****************************************************************************/
00029 
00030 #ifndef dbl___SVECTOR_H
00031 #define dbl___SVECTOR_H
00032 #include "qs_config.h"
00033 
00034 typedef struct dbl_svector
00035 {
00036   int nzcnt;
00037   int *indx;
00038   int size;
00039   double *coef;
00040 }
00041 dbl_svector;
00042 
00043 void dbl_ILLsvector_init (
00044   dbl_svector * s),
00045   dbl_ILLsvector_free (
00046   dbl_svector * s);
00047 
00048 int dbl_ILLsvector_alloc (
00049   dbl_svector * s,
00050   int nzcnt),
00051   dbl_ILLsvector_copy (
00052   const dbl_svector * s_in,
00053   dbl_svector * s_out);
00054 
00055 #endif /* dbl___SVECTOR_H */
00056 
00057 /****************************************************************************/
00058 /*                                                                          */
00059 /*                           dbl_heap.h                                         */
00060 /*                                                                          */
00061 /****************************************************************************/
00062 
00063 #ifndef dbl___HEAP_H
00064 #define dbl___HEAP_H
00065 
00066 typedef struct
00067 {
00068   int *entry;
00069   int *loc;
00070   double *key;
00071   int hexist;
00072   int maxsize;
00073   int size;
00074 }
00075 dbl_heap;
00076 
00077 void dbl_ILLheap_insert (
00078   dbl_heap * const h,
00079   int const ix),
00080   dbl_ILLheap_modify (
00081   dbl_heap * const h,
00082   int const ix),
00083   dbl_ILLheap_delete (
00084   dbl_heap * const h,
00085   int const ix),
00086   dbl_ILLheap_init (
00087   dbl_heap * const h),
00088   dbl_ILLheap_free (
00089   dbl_heap * const h);
00090 
00091 int dbl_ILLheap_findmin (
00092   dbl_heap * const h),
00093   dbl_ILLheap_build (
00094   dbl_heap * const h,
00095   int const nelems,
00096   double * key);
00097 
00098 #endif /* dbl___HEAP_H */
00099 
00100 /****************************************************************************/
00101 /*                                                                          */
00102 /*                         matrix.h                                         */
00103 /*                                                                          */
00104 /****************************************************************************/
00105 
00106 #ifndef dbl___MATRIX_H
00107 #define dbl___MATRIX_H
00108 
00109 typedef struct dbl_ILLmatrix
00110 {
00111   double *matval;           /* The coefficients.                       */
00112   int *matcnt;                  /* Number of coefs in each col.            */
00113   int *matind;                  /* The row indices of the coefs.           */
00114   int *matbeg;                  /* The start of each col.                  */
00115   int matcols;                  /* Number of columns.                      */
00116   int matrows;
00117   int matcolsize;               /* Length of matbeg and matcnt.            */
00118   int matsize;                  /* Length of matind and matval.            */
00119   int matfree;                  /* Free space at end of matind.            */
00120   /* Note: free elements marked by -1 in     */
00121   /* matind; we keep at least 1 free at end. */
00122 }
00123 dbl_ILLmatrix;
00124 
00125 void dbl_ILLmatrix_init (
00126   dbl_ILLmatrix * A);
00127 void dbl_ILLmatrix_free (
00128   dbl_ILLmatrix * A);
00129 void dbl_ILLmatrix_prt (
00130   EGioFile_t * fd,
00131   dbl_ILLmatrix * A);
00132 
00133 #endif /* dbl___MATRIX_H */

Generated on Thu Mar 29 09:32:29 2012 for QSopt_ex by  doxygen 1.4.7