00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef __FUNCTIONS_H
00025 #define __FUNCTIONS_H
00026 #include "basicdefs.h"
00027 int ILLfct_compute_zA (
00028 lpinfo * lp,
00029 svector * z,
00030 svector * zA),
00031 ILLfct_compute_wz (
00032 lpinfo * lp,
00033 EGlpNum_t * wz),
00034 ILLfct_adjust_viol_bounds (
00035 lpinfo * lp),
00036 ILLfct_perturb_bounds (
00037 lpinfo * lp),
00038 ILLfct_perturb_phaseI_bounds (
00039 lpinfo * lp),
00040 ILLfct_bound_shift (
00041 lpinfo * lp,
00042 int col,
00043 int bndtype,
00044 EGlpNum_t newbnd),
00045 ILLfct_adjust_viol_coefs (
00046 lpinfo * lp),
00047 ILLfct_perturb_coefs (
00048 lpinfo * lp),
00049 ILLfct_coef_shift (
00050 lpinfo * lp,
00051 int col,
00052 EGlpNum_t newcoef),
00053 ILLfct_test_pivot (
00054 lpinfo * lp,
00055 int indx,
00056 int indxtype,
00057 EGlpNum_t piv_val);
00058
00059 void ILLfct_load_workvector (
00060 lpinfo * lp,
00061 svector * s),
00062 ILLfct_zero_workvector (
00063 lpinfo * lp),
00064 ILLfct_set_variable_type (
00065 lpinfo * lp),
00066 ILLfct_compute_pobj (
00067 lpinfo * lp),
00068 ILLfct_compute_dobj (
00069 lpinfo * lp),
00070 ILLfct_compute_xbz (
00071 lpinfo * lp),
00072 ILLfct_compute_piz (
00073 lpinfo * lp),
00074 ILLfct_compute_phaseI_xbz (
00075 lpinfo * lp),
00076 ILLfct_compute_phaseI_piz (
00077 lpinfo * lp),
00078 ILLfct_compute_dz (
00079 lpinfo * lp),
00080 ILLfct_compute_phaseI_dz (
00081 lpinfo * lp),
00082 ILLfct_compute_yz (
00083 lpinfo * lp,
00084 svector * yz,
00085 svector * updz,
00086 int ecol),
00087 ILLfct_compute_zz (
00088 lpinfo * lp,
00089 svector * zz,
00090 int lindex),
00091 ILLfct_compute_binvrow (
00092 lpinfo * lp,
00093 svector * zz,
00094 int row,
00095 EGlpNum_t ztoler),
00096 ILLfct_compute_vA (
00097 lpinfo * lp,
00098 svector * v,
00099 EGlpNum_t * vA),
00100 ILLfct_compute_psteep_upv (
00101 lpinfo * lp,
00102 svector * swz),
00103 ILLfct_compute_dsteep_upv (
00104 lpinfo * lp,
00105 svector * swz),
00106 ILLfct_update_basis_info (
00107 lpinfo * lp,
00108 int eindex,
00109 int lindex,
00110 int lvstat),
00111 ILLfct_update_xz (
00112 lpinfo * lp,
00113 EGlpNum_t tz,
00114 int eindex,
00115 int lindex),
00116 ILLfct_update_piz (
00117 lpinfo * lp,
00118 EGlpNum_t alpha),
00119 ILLfct_update_pIpiz (
00120 lpinfo * lp,
00121 svector * z,
00122 const EGlpNum_t alpha),
00123 ILLfct_update_dz (
00124 lpinfo * lp,
00125 int eindex,
00126 EGlpNum_t alpha),
00127 ILLfct_update_pIdz (
00128 lpinfo * lp,
00129 svector * zA,
00130 int eindex,
00131 const EGlpNum_t alpha),
00132 ILLfct_unroll_bound_change (
00133 lpinfo * lp),
00134 ILLfct_unroll_coef_change (
00135 lpinfo * lp),
00136 ILLfct_check_pfeasible (
00137 lpinfo * lp,
00138 feas_info * fs,
00139 const EGlpNum_t ftol),
00140 ILLfct_check_pIpfeasible (
00141 lpinfo * lp,
00142 feas_info * fs,
00143 EGlpNum_t ftol),
00144 ILLfct_check_dfeasible (
00145 lpinfo * lp,
00146 feas_info * fs,
00147 const EGlpNum_t ftol),
00148 ILLfct_dual_adjust (
00149 lpinfo * lp,
00150 const EGlpNum_t ftol),
00151 ILLfct_dphaseI_simple_update (
00152 lpinfo * lp,
00153 EGlpNum_t ftol),
00154 ILLfct_set_status_values (
00155 lpinfo * lp,
00156 int pstatus,
00157 int dstatus,
00158 int ptype,
00159 int dtype),
00160 ILLfct_init_counts (
00161 lpinfo * lp),
00162 ILLfct_update_counts (
00163 lpinfo * lp,
00164 int f,
00165 int upi,
00166 const EGlpNum_t upd),
00167 ILLfct_print_counts (
00168 lpinfo * lp),
00169 ILLfct_check_pIdfeasible (
00170 lpinfo * lp,
00171 feas_info * fs,
00172 EGlpNum_t ftol),
00173 ILLfct_update_pfeas (
00174 lpinfo * lp,
00175 int lindex,
00176 svector * srhs),
00177 ILLfct_compute_ppIzz (
00178 lpinfo * lp,
00179 svector * srhs,
00180 svector * ssoln),
00181 ILLfct_update_ppI_prices (
00182 lpinfo * lp,
00183 price_info * pinf,
00184 svector * srhs,
00185 svector * ssoln,
00186 int eindex,
00187 int lindex,
00188 const EGlpNum_t alpha),
00189 ILLfct_update_dfeas (
00190 lpinfo * lp,
00191 int eindex,
00192 svector * srhs),
00193 ILLfct_compute_dpIy (
00194 lpinfo * lp,
00195 svector * srhs,
00196 svector * ssoln),
00197 ILLfct_update_dpI_prices (
00198 lpinfo * lp,
00199 price_info * pinf,
00200 svector * srhs,
00201 svector * ssoln,
00202 int lindex,
00203 EGlpNum_t alpha),
00204 ILLfct_update_dIIfeas (
00205 lpinfo * lp,
00206 int eindex,
00207 svector * srhs),
00208 ILLfct_compute_dpIIy (
00209 lpinfo * lp,
00210 svector * srhs,
00211 svector * ssoln),
00212 ILLfct_update_dpII_prices (
00213 lpinfo * lp,
00214 price_info * pinf,
00215 svector * srhs,
00216 svector * ssoln,
00217
00218 int lindex,
00219 EGlpNum_t eval,
00220 EGlpNum_t alpha);
00221
00222 void fct_test_workvector (
00223 lpinfo * lp),
00224 fct_test_pfeasible (
00225 lpinfo * lp),
00226 fct_test_dfeasible (
00227 lpinfo * lp),
00228 fct_test_pI_x (
00229 lpinfo * lp,
00230 price_info * p),
00231 fct_test_pII_x (
00232 lpinfo * lp,
00233 price_info * p),
00234 fct_test_pI_pi_dz (
00235 lpinfo * lp,
00236 price_info * p),
00237 fct_test_pII_pi_dz (
00238 lpinfo * lp,
00239 price_info * p);
00240
00241 bndinfo *ILLfct_new_bndinfo (
00242 void);
00243 void ILLfct_free_bndinfo (
00244 bndinfo * binfo);
00245
00246 #endif