float128_fct.c File Reference

#include "qs_config.h"
#include "float128_iqsutil.h"
#include "float128_lpdefs.h"
#include "stddefs.h"
#include "float128_basis.h"
#include "float128_fct.h"
#include "float128_price.h"
#include "float128_ratio.h"
#include "float128_dstruct.h"

Include dependency graph for float128_fct.c:

Go to the source code of this file.

Defines

#define float128_C_VALUE(a)   (1.0+(double)(a)/(PARAM_HEAP_RATIO*float128_ILLutil_our_log2(a)))
#define float128_FCT_DEBUG   0

Functions

static void float128_add_vectors (float128_lpinfo *lp, float128_svector *a, float128_svector *b, float128_svector *c, const float128 t)
static int float128_compute_zA1 (float128_lpinfo *lp, float128_svector *z, float128_svector *zA, float128 ztoler)
static int float128_compute_zA3 (float128_lpinfo *lp, float128_svector *z, float128_svector *zA, float128 ztoler)
static int float128_expand_phaseI_bounds (float128_lpinfo *lp, int *chgb)
static int float128_expand_var_bounds (float128_lpinfo *lp, float128 ftol, int *chgb)
static int float128_expand_var_coefs (float128_lpinfo *lp, float128 ftol, int *chgc)
int float128_ILLfct_adjust_viol_bounds (float128_lpinfo *lp)
int float128_ILLfct_adjust_viol_coefs (float128_lpinfo *lp)
int float128_ILLfct_bound_shift (float128_lpinfo *lp, int col, int bndtype, float128 newbnd)
void float128_ILLfct_check_dfeasible (float128_lpinfo *lp, float128_feas_info *fs, const float128 ftol)
void float128_ILLfct_check_pfeasible (float128_lpinfo *lp, float128_feas_info *fs, const float128 ftol)
void float128_ILLfct_check_pIdfeasible (float128_lpinfo *lp, float128_feas_info *fs, float128 ftol)
void float128_ILLfct_check_pIpfeasible (float128_lpinfo *lp, float128_feas_info *fs, float128 ftol)
int float128_ILLfct_coef_shift (float128_lpinfo *lp, int col, float128 newcoef)
void float128_ILLfct_compute_binvrow (float128_lpinfo *lp, float128_svector *zz, int row, float128 ztoler)
void float128_ILLfct_compute_dobj (float128_lpinfo *lp)
void float128_ILLfct_compute_dpIIy (float128_lpinfo *lp, float128_svector *srhs, float128_svector *ssoln)
void float128_ILLfct_compute_dpIy (float128_lpinfo *lp, float128_svector *srhs, float128_svector *ssoln)
void float128_ILLfct_compute_dsteep_upv (float128_lpinfo *lp, float128_svector *swz)
void float128_ILLfct_compute_dz (float128_lpinfo *lp)
void float128_ILLfct_compute_phaseI_dz (float128_lpinfo *lp)
void float128_ILLfct_compute_phaseI_piz (float128_lpinfo *lp)
void float128_ILLfct_compute_phaseI_xbz (float128_lpinfo *lp)
void float128_ILLfct_compute_piz (float128_lpinfo *lp)
void float128_ILLfct_compute_pobj (float128_lpinfo *lp)
void float128_ILLfct_compute_ppIzz (float128_lpinfo *lp, float128_svector *srhs, float128_svector *ssoln)
void float128_ILLfct_compute_psteep_upv (float128_lpinfo *lp, float128_svector *swz)
void float128_ILLfct_compute_vA (float128_lpinfo *lp, float128_svector *v, float128 *vA)
void float128_ILLfct_compute_xbz (float128_lpinfo *lp)
void float128_ILLfct_compute_yz (float128_lpinfo *lp, float128_svector *yz, float128_svector *updz, int col)
int float128_ILLfct_compute_zA (float128_lpinfo *lp, float128_svector *z, float128_svector *zA)
void float128_ILLfct_compute_zz (float128_lpinfo *lp, float128_svector *zz, int row)
void float128_ILLfct_dphaseI_simple_update (float128_lpinfo *lp, float128 ftol)
void float128_ILLfct_dual_adjust (float128_lpinfo *lp, const float128 ftol)
void float128_ILLfct_free_bndinfo (float128_bndinfo *binfo)
void float128_ILLfct_init_counts (float128_lpinfo *lp)
void float128_ILLfct_load_workvector (float128_lpinfo *lp, float128_svector *s)
float128_bndinfofloat128_ILLfct_new_bndinfo (void)
int float128_ILLfct_perturb_bounds (float128_lpinfo *lp)
int float128_ILLfct_perturb_coefs (float128_lpinfo *lp)
int float128_ILLfct_perturb_phaseI_bounds (float128_lpinfo *lp)
void float128_ILLfct_print_counts (float128_lpinfo *lp)
void float128_ILLfct_set_status_values (float128_lpinfo *lp, int pstatus, int dstatus, int ptype, int dtype)
void float128_ILLfct_set_variable_type (float128_lpinfo *lp)
int float128_ILLfct_test_pivot (float128_lpinfo *lp, int indx, int indxtype, float128 piv_val)
void float128_ILLfct_unroll_bound_change (float128_lpinfo *lp)
void float128_ILLfct_unroll_coef_change (float128_lpinfo *lp)
void float128_ILLfct_update_basis_info (float128_lpinfo *lp, int eindex, int lindex, int lvstat)
void float128_ILLfct_update_counts (float128_lpinfo *lp, int f, int upi, const float128 upd)
void float128_ILLfct_update_dfeas (float128_lpinfo *lp, int eindex, float128_svector *srhs)
void float128_ILLfct_update_dIIfeas (float128_lpinfo *lp, int eindex, float128_svector *srhs)
void float128_ILLfct_update_dpI_prices (float128_lpinfo *lp, float128_price_info *pinf, float128_svector *srhs, float128_svector *ssoln, int lindex, float128 alpha)
void float128_ILLfct_update_dpII_prices (float128_lpinfo *lp, float128_price_info *pinf, float128_svector *srhs, float128_svector *ssoln, int lindex, float128 eval, float128 alpha)
void float128_ILLfct_update_dz (float128_lpinfo *lp, int eindex, float128 alpha)
void float128_ILLfct_update_pfeas (float128_lpinfo *lp, int lindex, float128_svector *srhs)
void float128_ILLfct_update_pIdz (float128_lpinfo *lp, float128_svector *zA, int eindex, const float128 alpha)
void float128_ILLfct_update_pIpiz (float128_lpinfo *lp, float128_svector *z, const float128 alpha)
void float128_ILLfct_update_piz (float128_lpinfo *lp, float128 alpha)
void float128_ILLfct_update_ppI_prices (float128_lpinfo *lp, float128_price_info *pinf, float128_svector *srhs, float128_svector *ssoln, int eindex, int lindex, const float128 alpha)
void float128_ILLfct_update_xz (float128_lpinfo *lp, float128 tz, int eindex, int lindex)
void float128_ILLfct_zero_workvector (float128_lpinfo *lp)
static double float128_my_rand (int bound, ILLrandstate *r)
static void float128_update_piv_values (float128_count_struct *c, int phase, const float128 piv)

Variables

static int TRACE = 0


Define Documentation

#define float128_C_VALUE (  )     (1.0+(double)(a)/(PARAM_HEAP_RATIO*float128_ILLutil_our_log2(a)))

Referenced by float128_ILLfct_init_counts().

#define float128_FCT_DEBUG   0

Definition at line 27 of file float128_fct.c.


Function Documentation

static void float128_add_vectors ( float128_lpinfo lp,
float128_svector a,
float128_svector b,
float128_svector c,
const float128  t 
)

Definition at line 1677 of file float128_fct.c.

References float128_svector::coef, float128_svector::indx, float128_lpinfo::iwork, float128_svector::nzcnt, and float128_lpinfo::work.

Referenced by float128_ILLfct_update_dIIfeas(), float128_ILLfct_update_dpI_prices(), float128_ILLfct_update_dpII_prices(), and float128_ILLfct_update_ppI_prices().

static int float128_compute_zA1 ( float128_lpinfo lp,
float128_svector z,
float128_svector zA,
float128  ztoler 
) [static]

Definition at line 478 of file float128_fct.c.

References float128_svector::coef, float128_svector::indx, float128_lpinfo::matbeg, float128_lpinfo::matcnt, float128_lpinfo::matind, float128_lpinfo::matval, float128_lpinfo::nbaz, float128_lpinfo::nnbasic, float128_lpinfo::nrows, and float128_svector::nzcnt.

Referenced by float128_ILLfct_compute_zA().

static int float128_compute_zA3 ( float128_lpinfo lp,
float128_svector z,
float128_svector zA,
float128  ztoler 
)

Definition at line 522 of file float128_fct.c.

References float128_svector::coef, float128_svector::indx, float128_lpinfo::iwork, float128_svector::nzcnt, float128_lpinfo::rowbeg, float128_lpinfo::rowcnt, float128_lpinfo::rowind, float128_lpinfo::rowval, STAT_BASIC, float128_lpinfo::vindex, float128_lpinfo::vstat, and float128_lpinfo::work.

Referenced by float128_ILLfct_compute_zA().

static int float128_expand_phaseI_bounds ( float128_lpinfo lp,
int *  chgb 
) [static]

Definition at line 834 of file float128_fct.c.

References float128_lpinfo::baz, BOUND_LOWER, BOUND_UPPER, float128_ILLfct_bound_shift(), float128_INFTY, float128_my_rand(), float128_NINFTY, ILLutil_sprand(), float128_tol_struct::ip_tol, float128_lpinfo::lz, float128_lpinfo::nrows, float128_lpinfo::rstate, float128_lpinfo::tol, float128_lpinfo::uz, VARTIFICIAL, VFREE, float128_lpinfo::vtype, and float128_lpinfo::xbz.

Referenced by float128_ILLfct_perturb_phaseI_bounds().

Here is the call graph for this function:

static int float128_expand_var_bounds ( float128_lpinfo lp,
float128  ftol,
int *  chgb 
)

Definition at line 772 of file float128_fct.c.

References float128_lpinfo::baz, BOUND_LOWER, BOUND_UPPER, float128_ILLfct_bound_shift(), float128_INFTY, float128_my_rand(), float128_NINFTY, ILLutil_sprand(), float128_lpinfo::lz, float128_lpinfo::nrows, float128_lpinfo::rstate, float128_lpinfo::uz, VARTIFICIAL, VFREE, float128_lpinfo::vtype, and float128_lpinfo::xbz.

Referenced by float128_ILLfct_adjust_viol_bounds(), and float128_ILLfct_perturb_bounds().

Here is the call graph for this function:

static int float128_expand_var_coefs ( float128_lpinfo lp,
float128  ftol,
int *  chgc 
)

Definition at line 1024 of file float128_fct.c.

References float128_lpinfo::cz, float128_lpinfo::dz, float128_ILLfct_coef_shift(), float128_my_rand(), ILLutil_sprand(), float128_lpinfo::nbaz, float128_lpinfo::nnbasic, float128_lpinfo::rstate, STAT_LOWER, STAT_UPPER, STAT_ZERO, VARTIFICIAL, VFIXED, float128_lpinfo::vstat, and float128_lpinfo::vtype.

Referenced by float128_ILLfct_adjust_viol_coefs(), and float128_ILLfct_perturb_coefs().

Here is the call graph for this function:

int float128_ILLfct_adjust_viol_bounds ( float128_lpinfo lp  ) 

Definition at line 887 of file float128_fct.c.

References float128_expand_var_bounds(), float128_tol_struct::pfeas_tol, and float128_lpinfo::tol.

Here is the call graph for this function:

int float128_ILLfct_adjust_viol_coefs ( float128_lpinfo lp  ) 

Definition at line 1102 of file float128_fct.c.

References float128_tol_struct::dfeas_tol, float128_expand_var_coefs(), and float128_lpinfo::tol.

Referenced by float128_dual_phaseII_step().

Here is the call graph for this function:

int float128_ILLfct_bound_shift ( float128_lpinfo lp,
int  col,
int  bndtype,
float128  newbnd 
)

Definition at line 933 of file float128_fct.c.

References float128_lpinfo::bchanges, BOUND_LOWER, float128_bndinfo::btype, float128_bndinfo::cbound, float128_ILLfct_free_bndinfo(), float128_ILLfct_new_bndinfo(), ILL_IFTRACE, float128_lpinfo::lz, float128_lpinfo::nbchange, float128_bndinfo::next, float128_bndinfo::pbound, float128_lpinfo::uz, float128_bndinfo::varnum, VARTIFICIAL, VBOUNDED, VFIXED, and float128_lpinfo::vtype.

Referenced by float128_expand_phaseI_bounds(), float128_expand_var_bounds(), and float128_primal_phaseII_step().

Here is the call graph for this function:

void float128_ILLfct_check_dfeasible ( float128_lpinfo lp,
float128_feas_info fs,
const float128  ftol 
)

Definition at line 1294 of file float128_fct.c.

References float128_lpinfo::dfeas, float128_feas_info::dstatus, DUAL_FEASIBLE, float128_lpinfo::dz, float128_lpinfo::nbaz, float128_lpinfo::nnbasic, STAT_LOWER, STAT_UPPER, STAT_ZERO, float128_feas_info::totinfeas, VARTIFICIAL, VFIXED, float128_lpinfo::vstat, and float128_lpinfo::vtype.

Referenced by float128_dual_phaseI_step(), float128_dual_phaseII_step(), float128_ILLbasis_get_cinitial(), float128_ILLsimplex(), float128_ILLsimplex_retest_dsolution(), float128_ILLsimplex_retest_psolution(), float128_monitor_iter(), and float128_primal_phaseII_step().

void float128_ILLfct_check_pfeasible ( float128_lpinfo lp,
float128_feas_info fs,
const float128  ftol 
)

Definition at line 1201 of file float128_fct.c.

References float128_lpinfo::baz, float128_lpinfo::bfeas, float128_INFTY, float128_NINFTY, ILL_IFTRACE, float128_lpinfo::lz, float128_lpinfo::nrows, PRIMAL_FEASIBLE, float128_feas_info::pstatus, QSE_WLVL, float128_feas_info::totinfeas, float128_lpinfo::uz, and float128_lpinfo::xbz.

Referenced by float128_dual_phaseII_step(), float128_ILLbasis_get_cinitial(), float128_ILLsimplex(), float128_ILLsimplex_retest_dsolution(), float128_ILLsimplex_retest_psolution(), float128_primal_phaseI_step(), and float128_primal_phaseII_step().

void float128_ILLfct_check_pIdfeasible ( float128_lpinfo lp,
float128_feas_info fs,
float128  ftol 
)

Definition at line 1346 of file float128_fct.c.

References float128_feas_info::dstatus, DUAL_FEASIBLE, DUAL_INFEASIBLE, float128_lpinfo::nbaz, float128_lpinfo::nnbasic, float128_lpinfo::pIdz, STAT_LOWER, STAT_UPPER, STAT_ZERO, VARTIFICIAL, VFIXED, float128_lpinfo::vstat, and float128_lpinfo::vtype.

Referenced by float128_ILLsimplex_retest_psolution().

void float128_ILLfct_check_pIpfeasible ( float128_lpinfo lp,
float128_feas_info fs,
float128  ftol 
)

Definition at line 1263 of file float128_fct.c.

References float128_lpinfo::baz, float128_INFTY, float128_NINFTY, float128_lpinfo::lz, float128_lpinfo::nrows, PRIMAL_FEASIBLE, float128_feas_info::pstatus, float128_feas_info::totinfeas, float128_lpinfo::uz, and float128_lpinfo::xbz.

Referenced by float128_ILLsimplex_retest_dsolution().

int float128_ILLfct_coef_shift ( float128_lpinfo lp,
int  col,
float128  newcoef 
)

Definition at line 1135 of file float128_fct.c.

References float128_lpinfo::cchanges, float128_coefinfo::ccoef, float128_lpinfo::cz, float128_lpinfo::dz, ILL_IFFREE, ILL_SAFE_MALLOC, float128_lpinfo::ncchange, float128_coefinfo::next, float128_coefinfo::pcoef, float128_coefinfo::varnum, and float128_lpinfo::vindex.

Referenced by float128_dual_phaseII_step(), and float128_expand_var_coefs().

void float128_ILLfct_compute_binvrow ( float128_lpinfo lp,
float128_svector zz,
int  row,
float128  ztoler 
)

Definition at line 440 of file float128_fct.c.

References float128_svector::coef, float128_lpinfo::f, float128_ILLbasis_row_solve(), float128_ILLfactor_set_factor_dparam(), float128_SZERO_TOLER, float128_svector::indx, float128_svector::nzcnt, and QS_FACTOR_SZERO_TOL.

Referenced by float128_ILLfct_compute_zz().

Here is the call graph for this function:

void float128_ILLfct_compute_dobj ( float128_lpinfo lp  ) 

Definition at line 194 of file float128_fct.c.

References float128_lpinfo::bz, float128_lpinfo::dobjval, float128_lpinfo::dz, float128_lpinfo::lz, float128_lpinfo::nbaz, float128_lpinfo::nnbasic, float128_lpinfo::nrows, float128_lpinfo::objval, float128_lpinfo::piz, STAT_LOWER, STAT_UPPER, float128_lpinfo::uz, and float128_lpinfo::vstat.

Referenced by float128_dual_phaseII_step(), float128_ILLsimplex(), float128_ILLsimplex_retest_dsolution(), and float128_monitor_iter().

void float128_ILLfct_compute_dpIIy ( float128_lpinfo lp,
float128_svector srhs,
float128_svector ssoln 
)

Definition at line 2097 of file float128_fct.c.

References float128_ILLbasis_column_solve(), and float128_svector::nzcnt.

Referenced by float128_dual_phaseII_step().

Here is the call graph for this function:

void float128_ILLfct_compute_dpIy ( float128_lpinfo lp,
float128_svector srhs,
float128_svector ssoln 
)

Definition at line 1993 of file float128_fct.c.

References float128_ILLbasis_column_solve(), and float128_svector::nzcnt.

Referenced by float128_dual_phaseI_step().

Here is the call graph for this function:

void float128_ILLfct_compute_dsteep_upv ( float128_lpinfo lp,
float128_svector swz 
)

Definition at line 471 of file float128_fct.c.

References float128_ILLbasis_column_solve(), and float128_lpinfo::zz.

Referenced by float128_dual_phaseI_step(), and float128_dual_phaseII_step().

Here is the call graph for this function:

void float128_ILLfct_compute_dz ( float128_lpinfo lp  ) 

Definition at line 293 of file float128_fct.c.

References float128_lpinfo::cz, float128_lpinfo::dz, float128_lpinfo::matbeg, float128_lpinfo::matcnt, float128_lpinfo::matind, float128_lpinfo::matval, float128_lpinfo::nbaz, float128_lpinfo::nnbasic, and float128_lpinfo::piz.

Referenced by float128_dual_phaseI_step(), float128_dual_phaseII_step(), float128_ILLbasis_get_cinitial(), float128_ILLfct_unroll_coef_change(), float128_ILLsimplex(), float128_ILLsimplex_retest_dsolution(), float128_ILLsimplex_retest_psolution(), and float128_primal_phaseII_step().

void float128_ILLfct_compute_phaseI_dz ( float128_lpinfo lp  ) 

Definition at line 385 of file float128_fct.c.

References ILL_IFTRACE, float128_lpinfo::matbeg, float128_lpinfo::matcnt, float128_lpinfo::matind, float128_lpinfo::matval, float128_lpinfo::nbaz, float128_lpinfo::nnbasic, float128_lpinfo::pIdz, and float128_lpinfo::pIpiz.

Referenced by float128_ILLsimplex_retest_psolution(), and float128_primal_phaseI_step().

void float128_ILLfct_compute_phaseI_piz ( float128_lpinfo lp  ) 

Definition at line 360 of file float128_fct.c.

References float128_lpinfo::bfeas, float128_svector::coef, float128_svector::indx, float128_lpinfo::nrows, float128_lpinfo::pIpiz, float128_lpinfo::srhs, and float128_lpinfo::ssoln.

Referenced by float128_ILLsimplex_retest_psolution(), and float128_primal_phaseI_step().

void float128_ILLfct_compute_phaseI_xbz ( float128_lpinfo lp  ) 

Definition at line 317 of file float128_fct.c.

References float128_svector::coef, float128_lpinfo::dfeas, float128_lpinfo::matbeg, float128_lpinfo::matcnt, float128_lpinfo::matind, float128_lpinfo::matval, float128_lpinfo::nbaz, float128_lpinfo::nnbasic, float128_lpinfo::nrows, float128_lpinfo::srhs, float128_lpinfo::ssoln, and float128_lpinfo::xbz.

Referenced by float128_dual_phaseI_step(), and float128_ILLsimplex_retest_dsolution().

void float128_ILLfct_compute_piz ( float128_lpinfo lp  ) 

Definition at line 269 of file float128_fct.c.

References float128_lpinfo::baz, float128_svector::coef, float128_lpinfo::cz, float128_svector::indx, float128_lpinfo::nrows, float128_lpinfo::piz, float128_lpinfo::srhs, and float128_lpinfo::ssoln.

Referenced by float128_dual_phaseI_step(), float128_dual_phaseII_step(), float128_ILLbasis_get_cinitial(), float128_ILLfct_unroll_coef_change(), float128_ILLsimplex(), float128_ILLsimplex_retest_dsolution(), float128_ILLsimplex_retest_psolution(), and float128_primal_phaseII_step().

void float128_ILLfct_compute_pobj ( float128_lpinfo lp  ) 

Definition at line 168 of file float128_fct.c.

References float128_lpinfo::baz, float128_lpinfo::cz, float128_lpinfo::lz, float128_lpinfo::nbaz, float128_lpinfo::nnbasic, float128_lpinfo::nrows, float128_lpinfo::objval, float128_lpinfo::pobjval, STAT_LOWER, STAT_UPPER, float128_lpinfo::uz, float128_lpinfo::vstat, and float128_lpinfo::xbz.

Referenced by float128_ILLsimplex(), float128_ILLsimplex_retest_psolution(), and float128_primal_phaseII_step().

void float128_ILLfct_compute_ppIzz ( float128_lpinfo lp,
float128_svector srhs,
float128_svector ssoln 
)

Definition at line 1801 of file float128_fct.c.

References float128_ILLbasis_row_solve(), ILL_IFTRACE, and float128_svector::nzcnt.

Referenced by float128_primal_phaseI_step().

Here is the call graph for this function:

void float128_ILLfct_compute_psteep_upv ( float128_lpinfo lp,
float128_svector swz 
)

Definition at line 464 of file float128_fct.c.

References float128_ILLbasis_row_solve(), and float128_lpinfo::yjz.

Referenced by float128_primal_phaseI_step(), and float128_primal_phaseII_step().

Here is the call graph for this function:

void float128_ILLfct_compute_vA ( float128_lpinfo lp,
float128_svector v,
float128 *  vA 
)

Definition at line 588 of file float128_fct.c.

References float128_svector::coef, float128_SZERO_TOLER, float128_svector::indx, float128_lpinfo::ncols, float128_svector::nzcnt, float128_lpinfo::rowbeg, float128_lpinfo::rowcnt, float128_lpinfo::rowind, and float128_lpinfo::rowval.

Referenced by float128_ILLbasis_tableau_row().

void float128_ILLfct_compute_xbz ( float128_lpinfo lp  ) 

Definition at line 220 of file float128_fct.c.

References float128_lpinfo::bz, float128_svector::coef, float128_svector::indx, float128_lpinfo::lz, float128_lpinfo::matbeg, float128_lpinfo::matcnt, float128_lpinfo::matind, float128_lpinfo::matval, float128_lpinfo::nbaz, float128_lpinfo::nnbasic, float128_lpinfo::nrows, float128_lpinfo::srhs, float128_lpinfo::ssoln, STAT_LOWER, STAT_UPPER, float128_lpinfo::uz, float128_lpinfo::vstat, and float128_lpinfo::xbz.

Referenced by float128_dual_phaseII_step(), float128_ILLbasis_get_cinitial(), float128_ILLfct_unroll_bound_change(), float128_ILLsimplex(), float128_ILLsimplex_retest_dsolution(), float128_ILLsimplex_retest_psolution(), float128_primal_phaseI_step(), and float128_primal_phaseII_step().

void float128_ILLfct_compute_yz ( float128_lpinfo lp,
float128_svector yz,
float128_svector updz,
int  col 
)

Definition at line 412 of file float128_fct.c.

References float128_svector::coef, float128_lpinfo::f, float128_ILLbasis_column_solve(), float128_ILLbasis_column_solve_update(), float128_ILLfactor_set_factor_dparam(), float128_PIVZ_TOLER, float128_SZERO_TOLER, float128_svector::indx, float128_lpinfo::matbeg, float128_lpinfo::matcnt, float128_lpinfo::matind, float128_lpinfo::matval, float128_svector::nzcnt, and QS_FACTOR_SZERO_TOL.

Referenced by float128_dual_phaseI_step(), float128_dual_phaseII_step(), float128_ILLprice_build_psteep_norms(), float128_primal_phaseI_step(), and float128_primal_phaseII_step().

Here is the call graph for this function:

int float128_ILLfct_compute_zA ( float128_lpinfo lp,
float128_svector z,
float128_svector zA 
)

Definition at line 576 of file float128_fct.c.

References float128_compute_zA1(), float128_compute_zA3(), float128_PIVZ_TOLER, float128_lpinfo::nrows, and float128_svector::nzcnt.

Referenced by float128_dual_phaseI_step(), float128_dual_phaseII_step(), float128_ILLbasis_tableau_row(), float128_ILLfct_update_ppI_prices(), float128_primal_phaseI_step(), and float128_primal_phaseII_step().

Here is the call graph for this function:

void float128_ILLfct_compute_zz ( float128_lpinfo lp,
float128_svector zz,
int  row 
)

Definition at line 432 of file float128_fct.c.

References float128_ILLfct_compute_binvrow(), and float128_PIVZ_TOLER.

Referenced by float128_dual_phaseI_step(), float128_dual_phaseII_step(), float128_ILLbasis_tableau_row(), float128_ILLprice_build_dsteep_norms(), float128_ILLprice_get_dsteep_norms(), float128_primal_phaseI_step(), and float128_primal_phaseII_step().

Here is the call graph for this function:

void float128_ILLfct_dphaseI_simple_update ( float128_lpinfo lp,
float128  ftol 
)

Definition at line 1397 of file float128_fct.c.

References float128_lpinfo::dz, float128_lpinfo::nbaz, float128_lpinfo::nnbasic, STAT_LOWER, STAT_UPPER, VBOUNDED, float128_lpinfo::vstat, and float128_lpinfo::vtype.

void float128_ILLfct_dual_adjust ( float128_lpinfo lp,
const float128  ftol 
)

Definition at line 1377 of file float128_fct.c.

References float128_lpinfo::dz, float128_INFTY, float128_NINFTY, float128_lpinfo::lz, float128_lpinfo::nbaz, float128_lpinfo::nnbasic, STAT_LOWER, STAT_UPPER, float128_lpinfo::uz, and float128_lpinfo::vstat.

Referenced by float128_dual_phaseI_step(), float128_dual_phaseII_step(), float128_ILLbasis_get_cinitial(), and float128_ILLsimplex().

void float128_ILLfct_free_bndinfo ( float128_bndinfo binfo  ) 

Definition at line 54 of file float128_fct.c.

References float128_bndinfo::cbound, ILL_IFFREE, and float128_bndinfo::pbound.

Referenced by float128_ILLfct_bound_shift().

void float128_ILLfct_init_counts ( float128_lpinfo lp  ) 

Definition at line 1491 of file float128_fct.c.

References float128_lpinfo::cnts, float128_count_struct::dI_iter, float128_count_struct::dII_iter, float128_count_struct::dnorm_cnt, float128_count_struct::dupv_cnt, float128_C_VALUE, ILL_IFTRACE, float128_lpinfo::nnbasic, float128_lpinfo::nrows, float128_count_struct::num_pi, float128_count_struct::num_pi1, float128_count_struct::num_up, float128_count_struct::num_y, float128_count_struct::num_z, float128_count_struct::num_za, float128_count_struct::pi1nz_cnt, float128_count_struct::pI_iter, float128_count_struct::pII_iter, float128_count_struct::pinz_cnt, float128_count_struct::pivdI, float128_count_struct::pivdII, float128_count_struct::pivpI, float128_count_struct::pivpII, float128_count_struct::pnorm_cnt, float128_count_struct::pupv_cnt, float128_count_struct::tot_iter, float128_count_struct::upnz_cnt, float128_count_struct::y_ravg, float128_count_struct::ynz_cnt, float128_count_struct::za_ravg, float128_count_struct::zanz_cnt, and float128_count_struct::znz_cnt.

void float128_ILLfct_load_workvector ( float128_lpinfo lp,
float128_svector s 
)

Definition at line 105 of file float128_fct.c.

References float128_svector::coef, float128_svector::indx, float128_svector::nzcnt, and float128_lpinfo::work.

Referenced by float128_ILLprice_update_dsteep_norms(), and float128_ILLprice_update_psteep_norms().

float128_bndinfo* float128_ILLfct_new_bndinfo ( void   ) 

Definition at line 39 of file float128_fct.c.

References float128_bndinfo::cbound, and float128_bndinfo::pbound.

Referenced by float128_ILLfct_bound_shift().

int float128_ILLfct_perturb_bounds ( float128_lpinfo lp  ) 

Definition at line 905 of file float128_fct.c.

References float128_expand_var_bounds(), float128_tol_struct::ip_tol, and float128_lpinfo::tol.

Referenced by float128_monitor_iter().

Here is the call graph for this function:

int float128_ILLfct_perturb_coefs ( float128_lpinfo lp  ) 

Definition at line 1121 of file float128_fct.c.

References float128_expand_var_coefs(), float128_tol_struct::id_tol, and float128_lpinfo::tol.

Referenced by float128_monitor_iter().

Here is the call graph for this function:

int float128_ILLfct_perturb_phaseI_bounds ( float128_lpinfo lp  ) 

Definition at line 919 of file float128_fct.c.

References float128_expand_phaseI_bounds().

Here is the call graph for this function:

void float128_ILLfct_print_counts ( float128_lpinfo lp  ) 

Definition at line 1646 of file float128_fct.c.

References float128_lpinfo::cnts, float128_count_struct::dI_iter, float128_count_struct::dII_iter, float128_count_struct::dnorm_cnt, float128_lpinfo::nnbasic, float128_lpinfo::nrows, float128_count_struct::num_pi, float128_count_struct::num_pi1, float128_count_struct::num_up, float128_count_struct::num_y, float128_count_struct::num_z, float128_count_struct::num_za, float128_lpinfo::O, float128_count_struct::pi1nz_cnt, float128_count_struct::pI_iter, float128_count_struct::pII_iter, float128_count_struct::pinz_cnt, float128_count_struct::pivdI, float128_count_struct::pivdII, float128_count_struct::pivpI, float128_count_struct::pivpII, float128_count_struct::pnorm_cnt, float128_ILLlpdata::probname, float128_count_struct::tot_iter, float128_count_struct::upnz_cnt, float128_count_struct::ynz_cnt, float128_count_struct::zanz_cnt, and float128_count_struct::znz_cnt.

Referenced by float128_ILLsimplex().

void float128_ILLfct_set_status_values ( float128_lpinfo lp,
int  pstatus,
int  dstatus,
int  ptype,
int  dtype 
)

Definition at line 1416 of file float128_fct.c.

References float128_lpinfo::basisstat, float128_lp_status_info::dual_feasible, DUAL_FEASIBLE, DUAL_INFEASIBLE, float128_lp_status_info::dual_infeasible, float128_lp_status_info::dual_unbounded, DUAL_UNBOUNDED, float128_lpinfo::nbchange, float128_lpinfo::ncchange, float128_lp_status_info::optimal, PHASEI, PHASEII, float128_lp_status_info::primal_feasible, PRIMAL_FEASIBLE, PRIMAL_INFEASIBLE, float128_lp_status_info::primal_infeasible, float128_lp_status_info::primal_unbounded, PRIMAL_UNBOUNDED, and float128_lpinfo::probstat.

Referenced by float128_dual_phaseI_step(), float128_dual_phaseII_step(), float128_ILLsimplex(), float128_monitor_iter(), float128_primal_phaseI_step(), float128_primal_phaseII_step(), and float128_terminate_simplex().

void float128_ILLfct_set_variable_type ( float128_lpinfo lp  ) 

Definition at line 129 of file float128_fct.c.

References CLASS_LOGICAL, CLASS_STRUCT, float128_INFTY, float128_NINFTY, float128_lpinfo::lz, float128_lpinfo::matbeg, float128_lpinfo::matcnt, float128_lpinfo::matind, float128_lpinfo::ncols, float128_lpinfo::O, float128_ILLlpdata::rowmap, float128_lpinfo::uz, VARTIFICIAL, VBOUNDED, float128_lpinfo::vclass, VFIXED, VFREE, VLOWER, float128_lpinfo::vtype, and VUPPER.

Referenced by float128_ILLsimplex().

int float128_ILLfct_test_pivot ( float128_lpinfo lp,
int  indx,
int  indxtype,
float128  piv_val 
)

Definition at line 2147 of file float128_fct.c.

References float128_svector::coef, float128_svector::indx, float128_svector::nzcnt, ROW_PIVOT, and float128_lpinfo::yjz.

Referenced by float128_dual_phaseI_step(), and float128_dual_phaseII_step().

void float128_ILLfct_unroll_bound_change ( float128_lpinfo lp  ) 

Definition at line 978 of file float128_fct.c.

References float128_lpinfo::bchanges, BOUND_LOWER, BOUND_UPPER, float128_bndinfo::btype, float128_bndinfo::cbound, float128_ILLfct_compute_xbz(), ILL_IFFREE, ILL_IFTRACE, float128_lpinfo::lz, float128_lpinfo::nbchange, float128_bndinfo::next, float128_bndinfo::pbound, STAT_BASIC, STAT_LOWER, STAT_UPPER, float128_lpinfo::uz, float128_bndinfo::varnum, VARTIFICIAL, VBOUNDED, VFIXED, float128_lpinfo::vstat, and float128_lpinfo::vtype.

Referenced by float128_ILLsimplex(), float128_primal_phaseII_step(), and float128_terminate_simplex().

Here is the call graph for this function:

void float128_ILLfct_unroll_coef_change ( float128_lpinfo lp  ) 

Definition at line 1167 of file float128_fct.c.

References float128_lpinfo::cchanges, float128_coefinfo::ccoef, float128_lpinfo::cz, float128_lpinfo::dz, float128_ILLfct_compute_dz(), float128_ILLfct_compute_piz(), ILL_IFFREE, float128_lpinfo::ncchange, float128_coefinfo::next, float128_coefinfo::pcoef, STAT_BASIC, float128_coefinfo::varnum, float128_lpinfo::vindex, and float128_lpinfo::vstat.

Referenced by float128_dual_phaseII_step(), float128_ILLsimplex(), float128_monitor_iter(), and float128_terminate_simplex().

Here is the call graph for this function:

void float128_ILLfct_update_basis_info ( float128_lpinfo lp,
int  eindex,
int  lindex,
int  lvstat 
)

Definition at line 629 of file float128_fct.c.

References float128_lpinfo::basisid, float128_lpinfo::baz, float128_lpinfo::nbaz, STAT_BASIC, STAT_LOWER, STAT_UPPER, float128_lpinfo::vindex, and float128_lpinfo::vstat.

Referenced by float128_dual_phaseI_step(), float128_dual_phaseII_step(), float128_ILLbasis_factor(), float128_primal_phaseI_step(), and float128_primal_phaseII_step().

void float128_ILLfct_update_counts ( float128_lpinfo lp,
int  f,
int  upi,
const float128  upd 
)

Definition at line 1572 of file float128_fct.c.

References CNT_DIIPIV, CNT_DIPIV, CNT_DPHASE1ITER, CNT_DPHASE2ITER, CNT_P1PINZ, CNT_PIIPIV, CNT_PINZ, CNT_PIPIV, CNT_PPHASE1ITER, CNT_PPHASE2ITER, CNT_UPNZ, CNT_YNZ, CNT_YRAVG, CNT_ZANZ, CNT_ZARAVG, float128_lpinfo::cnts, float128_count_struct::dI_iter, float128_count_struct::dII_iter, DUAL_PHASEI, DUAL_PHASEII, float128_update_piv_values(), ILL_IFTRACE, float128_count_struct::num_pi, float128_count_struct::num_pi1, float128_count_struct::num_up, float128_count_struct::num_y, float128_count_struct::num_za, float128_count_struct::pi1nz_cnt, float128_count_struct::pI_iter, float128_count_struct::pII_iter, float128_count_struct::pinz_cnt, PRIMAL_PHASEI, PRIMAL_PHASEII, float128_count_struct::tot_iter, float128_count_struct::upnz_cnt, float128_count_struct::y_ravg, float128_count_struct::ynz_cnt, float128_count_struct::za_ravg, and float128_count_struct::zanz_cnt.

Referenced by float128_dual_phaseI_step(), float128_dual_phaseII_step(), float128_ILLfct_update_dpI_prices(), float128_ILLfct_update_dpII_prices(), float128_ILLfct_update_ppI_prices(), float128_ILLratio_dI_test(), float128_ILLratio_dII_test(), float128_ILLratio_longdII_test(), float128_ILLratio_pI_test(), float128_ILLratio_pII_test(), float128_primal_phaseI_step(), and float128_primal_phaseII_step().

Here is the call graph for this function:

void float128_ILLfct_update_dfeas ( float128_lpinfo lp,
int  eindex,
float128_svector srhs 
)

Definition at line 1887 of file float128_fct.c.

References BSKIP, float128_svector::coef, float128_lpinfo::dfeas, float128_pI_uinfo::dty, float128_lpinfo::dz, float128_tol_struct::id_tol, float128_svector::indx, float128_lpinfo::iwork, float128_pI_uinfo::ix, float128_lpinfo::matbeg, float128_lpinfo::matcnt, float128_lpinfo::matind, float128_lpinfo::matval, float128_lpinfo::nbaz, float128_lpinfo::nrows, float128_svector::nzcnt, float128_pI_uinfo::perm, STAT_LOWER, STAT_UPPER, STAT_ZERO, float128_pI_uinfo::t, t, float128_pI_uinfo::tctr, float128_lpinfo::tol, float128_pI_uinfo::tz, float128_lpinfo::upd, float128_lpinfo::vstat, float128_lpinfo::vtype, float128_lpinfo::work, and float128_lpinfo::zA.

Referenced by float128_dual_phaseI_step().

void float128_ILLfct_update_dIIfeas ( float128_lpinfo lp,
int  eindex,
float128_svector srhs 
)

Definition at line 2047 of file float128_fct.c.

References float128_svector::coef, float128_pI_uinfo::dty, float128_add_vectors(), float128_svector::indx, float128_pI_uinfo::ix, float128_lpinfo::lz, float128_lpinfo::matbeg, float128_lpinfo::matcnt, float128_lpinfo::matind, float128_lpinfo::matval, float128_lpinfo::nbaz, float128_svector::nzcnt, float128_pI_uinfo::perm, STAT_LOWER, STAT_UPPER, float128_pI_uinfo::t, t, float128_pI_uinfo::tctr, float128_pI_uinfo::tz, float128_lpinfo::upd, float128_lpinfo::uz, float128_lpinfo::vstat, and float128_lpinfo::zA.

Referenced by float128_dual_phaseII_step().

Here is the call graph for this function:

void float128_ILLfct_update_dpI_prices ( float128_lpinfo lp,
float128_price_info pinf,
float128_svector srhs,
float128_svector ssoln,
int  lindex,
float128  alpha 
)

Definition at line 2004 of file float128_fct.c.

References CNT_YRAVG, float128_svector::coef, COMPLETE_PRICING, float128_price_info::d_strategy, float128_pI_uinfo::dty, DUAL_PHASEI, float128_add_vectors(), float128_ILLfct_update_counts(), float128_ILLfct_update_xz(), float128_ILLprice_compute_primal_inf(), float128_ILLprice_update_mpartial_price(), float128_pI_uinfo::fs, float128_svector::indx, float128_svector::nzcnt, float128_pI_uinfo::piv, ROW_PRICING, float128_lpinfo::upd, float128_lpinfo::xbz, and float128_lpinfo::yjz.

Referenced by float128_dual_phaseI_step().

Here is the call graph for this function:

void float128_ILLfct_update_dpII_prices ( float128_lpinfo lp,
float128_price_info pinf,
float128_svector srhs,
float128_svector ssoln,
int  lindex,
float128  eval,
float128  alpha 
)

Definition at line 2108 of file float128_fct.c.

References CNT_YRAVG, float128_svector::coef, COMPLETE_PRICING, float128_price_info::d_strategy, DUAL_PHASEII, float128_add_vectors(), float128_ILLfct_update_counts(), float128_ILLfct_update_xz(), float128_ILLprice_compute_primal_inf(), float128_ILLprice_update_mpartial_price(), float128_svector::indx, float128_svector::nzcnt, ROW_PRICING, float128_lpinfo::xbz, and float128_lpinfo::yjz.

Referenced by float128_dual_phaseII_step().

Here is the call graph for this function:

void float128_ILLfct_update_dz ( float128_lpinfo lp,
int  eindex,
float128  alpha 
)

Definition at line 716 of file float128_fct.c.

References float128_svector::coef, float128_lpinfo::dz, float128_svector::indx, float128_svector::nzcnt, and float128_lpinfo::zA.

Referenced by float128_dual_phaseI_step(), float128_dual_phaseII_step(), and float128_primal_phaseII_step().

void float128_ILLfct_update_pfeas ( float128_lpinfo lp,
int  lindex,
float128_svector srhs 
)

Definition at line 1716 of file float128_fct.c.

References float128_lpinfo::baz, BBOUND, float128_lpinfo::bfeas, float128_svector::coef, float128_pI_uinfo::dty, float128_INFTY, float128_NINFTY, ILL_IFTRACE, float128_svector::indx, float128_tol_struct::ip_tol, float128_lpinfo::iwork, float128_pI_uinfo::ix, float128_lpinfo::lz, float128_svector::nzcnt, float128_pI_uinfo::perm, float128_pI_uinfo::t, t, float128_pI_uinfo::tctr, float128_lpinfo::tol, float128_pI_uinfo::tz, float128_lpinfo::upd, float128_lpinfo::uz, float128_lpinfo::xbz, and float128_lpinfo::yjz.

Referenced by float128_primal_phaseI_step().

void float128_ILLfct_update_pIdz ( float128_lpinfo lp,
float128_svector zA,
int  eindex,
const float128  alpha 
)

Definition at line 728 of file float128_fct.c.

References float128_svector::coef, float128_svector::indx, float128_svector::nzcnt, and float128_lpinfo::pIdz.

Referenced by float128_ILLfct_update_ppI_prices().

void float128_ILLfct_update_pIpiz ( float128_lpinfo lp,
float128_svector z,
const float128  alpha 
)

Definition at line 695 of file float128_fct.c.

References float128_svector::coef, float128_svector::indx, float128_svector::nzcnt, and float128_lpinfo::pIpiz.

Referenced by float128_ILLfct_update_ppI_prices().

void float128_ILLfct_update_piz ( float128_lpinfo lp,
float128  alpha 
)

Definition at line 685 of file float128_fct.c.

References float128_svector::coef, float128_svector::indx, float128_svector::nzcnt, float128_lpinfo::piz, and float128_lpinfo::zz.

Referenced by float128_dual_phaseI_step(), float128_dual_phaseII_step(), and float128_primal_phaseII_step().

void float128_ILLfct_update_ppI_prices ( float128_lpinfo lp,
float128_price_info pinf,
float128_svector srhs,
float128_svector ssoln,
int  eindex,
int  lindex,
const float128  alpha 
)

Definition at line 1813 of file float128_fct.c.

References CNT_ZARAVG, COL_PRICING, COMPLETE_PRICING, float128_pI_uinfo::dty, float128_add_vectors(), float128_ILLfct_compute_zA(), float128_ILLfct_update_counts(), float128_ILLfct_update_pIdz(), float128_ILLfct_update_pIpiz(), float128_ILLprice_compute_dual_inf(), float128_ILLprice_update_mpartial_price(), float128_pI_uinfo::fs, ILL_IFTRACE, float128_svector::nzcnt, float128_price_info::p_strategy, float128_lpinfo::pIdz, float128_pI_uinfo::piv, PRIMAL_PHASEI, float128_lpinfo::upd, and float128_lpinfo::zz.

Referenced by float128_primal_phaseI_step().

Here is the call graph for this function:

void float128_ILLfct_update_xz ( float128_lpinfo lp,
float128  tz,
int  eindex,
int  lindex 
)

Definition at line 657 of file float128_fct.c.

References float128_svector::coef, ILL_IFTRACE, float128_svector::indx, float128_lpinfo::lz, float128_lpinfo::nbaz, float128_svector::nzcnt, STAT_LOWER, STAT_UPPER, STAT_ZERO, float128_lpinfo::uz, float128_lpinfo::vstat, float128_lpinfo::xbz, and float128_lpinfo::yjz.

Referenced by float128_ILLfct_update_dpI_prices(), float128_ILLfct_update_dpII_prices(), float128_primal_phaseI_step(), and float128_primal_phaseII_step().

void float128_ILLfct_zero_workvector ( float128_lpinfo lp  ) 

Definition at line 119 of file float128_fct.c.

References float128_svector::coef, float128_svector::indx, float128_svector::nzcnt, and float128_lpinfo::work.

Referenced by float128_ILLprice_update_dsteep_norms(), and float128_ILLprice_update_psteep_norms().

static double float128_my_rand ( int  bound,
ILLrandstate r 
) [static]

Definition at line 756 of file float128_fct.c.

References ILLutil_lprand().

Referenced by float128_expand_phaseI_bounds(), float128_expand_var_bounds(), and float128_expand_var_coefs().

Here is the call graph for this function:

static void float128_update_piv_values ( float128_count_struct c,
int  phase,
const float128  piv 
) [static]

Definition at line 1532 of file float128_fct.c.

References DUAL_PHASEI, DUAL_PHASEII, float128_count_struct::pivdI, float128_count_struct::pivdII, float128_count_struct::pivpI, float128_count_struct::pivpII, PRIMAL_PHASEI, and PRIMAL_PHASEII.

Referenced by float128_ILLfct_update_counts().


Variable Documentation

int TRACE = 0 [static]

Definition at line 24 of file float128_fct.c.


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