| 86 | } |
| 87 | |
| 88 | HighsDebugStatus debugDualChuzcFailHeap( |
| 89 | const HighsOptions& options, const HighsInt workCount, |
| 90 | const std::vector<std::pair<HighsInt, double>>& workData, |
| 91 | const HighsInt numVar, const double* workDual, const double selectTheta, |
| 92 | const bool force) { |
| 93 | // Non-trivially expensive assessment of CHUZC failure |
| 94 | if (options.highs_debug_level < kHighsDebugLevelCostly && !force) |
| 95 | return HighsDebugStatus::kNotChecked; |
| 96 | |
| 97 | highsLogDev(options.log_options, HighsLogType::kInfo, |
| 98 | "DualChuzC: No entries in heap so return error\n"); |
| 99 | double workDataNorm; |
| 100 | double workDualNorm; |
| 101 | debugDualChuzcFailNorms(workCount, workData, workDataNorm, numVar, workDual, |
| 102 | workDualNorm); |
| 103 | highsLogDev(options.log_options, HighsLogType::kInfo, |
| 104 | "DualChuzC: workCount = %" HIGHSINT_FORMAT |
| 105 | "; selectTheta=%g\n", |
| 106 | workCount, selectTheta); |
| 107 | highsLogDev(options.log_options, HighsLogType::kInfo, |
| 108 | "DualChuzC: workDataNorm = %g; workDualNorm = %g\n", |
| 109 | workDataNorm, workDualNorm); |
| 110 | return HighsDebugStatus::kOk; |
| 111 | } |
| 112 | |
| 113 | HighsDebugStatus debugNonbasicFlagConsistent(const HighsOptions& options, |
| 114 | const HighsLp& lp, |
no test coverage detected