/usr/include/spooles/PatchAndGoInfo/PatchAndGoInfo.h is in libspooles-dev 2.2-10build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | /* PatchAndGoInfo.h */
#include "../IV.h"
#include "../DV.h"
/*--------------------------------------------------------------------*/
/*
-----------------------------------------------------------------
this object is used by the Chv object to implement the
"patch-and-go" strategies, used in specialized optimization
and structural analysis applications.
strategy -- type of patch-and-go strategy
1 -- used with optimization matrices
if ( |a_{i,i}| <= toosmall ) {
set a_{i,i} = 1.0
set offdiagonals = 0.0
}
2 -- used with structural analysis matrices
if ( |a_{i,i}| <= fudge ) {
set a_{i,i} = fudge * max (1, |a_{i,*}|, |a_{*,i}|)
}
toosmall -- measure of smallness for diagonal entry
fudge -- change factor for diagonal entry
fudgeIV -- (optional) stores locations where modifications made
fudgeDV -- (optional) stores modifications
created -- 98aug26, cca
-----------------------------------------------------------------
*/
typedef struct _PatchAndGoInfo PatchAndGoInfo ;
struct _PatchAndGoInfo {
int strategy ;
double toosmall ;
double fudge ;
IV *fudgeIV ;
DV *fudgeDV ;
} ;
/*--------------------------------------------------------------------*/
/*
------------------------------------------------------------------------
----- methods found in basics.c ----------------------------------------
------------------------------------------------------------------------
*/
/*
-----------------------
constructor method
created -- 98aug26, cca
-----------------------
*/
PatchAndGoInfo *
PatchAndGoInfo_new (
void
) ;
/*
-----------------------
set the default fields
created -- 98aug26, cca
-----------------------
*/
void
PatchAndGoInfo_setDefaultFields (
PatchAndGoInfo *info
) ;
/*
-----------------------
clear the data fields
created -- 98aug26, cca
-----------------------
*/
void
PatchAndGoInfo_clearData (
PatchAndGoInfo *info
) ;
/*
-----------------------
destructor
created -- 98aug26, cca
-----------------------
*/
void
PatchAndGoInfo_free (
PatchAndGoInfo *info
) ;
/*--------------------------------------------------------------------*/
/*
------------------------------------------------------------------------
----- methods found in init.c ------------------------------------------
------------------------------------------------------------------------
*/
/*
------------------------------------------------------------
purpose -- to initialize the patch-and-go information object
strategy -- type of patch-and-go strategy
1 -- used with optimization matrices
if ( |a_{i,i}| <= toosmall ) {
set a_{i,i} = 1.0
set offdiagonals = 0.0
}
2 -- used with structural analysis matrices
if ( |a_{i,i}| <= fudge ) {
set a_{i,i} = fudge * max (1, |a_{i,*}|, |a_{*,i}|)
}
toosmall -- tolerance for first strategy
fudge -- fudge factor for second strategy
storeids -- if nonzero, the row and column numbers where
patches have been applied are stored in an IV object
storevalues -- if nonzero and strategy 2, the differences
between the old and new diagonal magnitudes will be
stored in a DV object
created -- 98aug27, cca
------------------------------------------------------------
*/
void
PatchAndGoInfo_init (
PatchAndGoInfo *info,
int strategy,
double toosmall,
double fudge,
int storeids,
int storevalues
) ;
/*--------------------------------------------------------------------*/
|