Skip to content

Commit 0d6c16e

Browse files
committed
Separate functions to set options, timer, callback
1 parent dae914a commit 0d6c16e

File tree

6 files changed

+17
-11
lines changed

6 files changed

+17
-11
lines changed

highs/ipm/IpxWrapper.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -460,6 +460,8 @@ HighsStatus solveLpHipo(const HighsOptions& options, HighsTimer& timer,
460460
if (!options.output_flag | !options.log_to_console)
461461
hipo_options.display = false;
462462

463+
hipo_options.log_options = &options.log_options;
464+
463465
// Debug option is already considered through log_options.log_dev_level in
464466
// hipo::LogHighs::debug
465467

@@ -539,7 +541,9 @@ HighsStatus solveLpHipo(const HighsOptions& options, HighsTimer& timer,
539541
// block size option
540542
hipo_options.block_size = options.hipo_block_size;
541543

542-
hipo.set(hipo_options, options.log_options, callback, timer);
544+
hipo.setOptions(hipo_options);
545+
hipo.setTimer(timer);
546+
hipo.setCallback(callback);
543547

544548
// Transform problem to correct formulation
545549
hipo::Int num_col, num_row;

highs/ipm/hipo/ipm/LogHighs.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
namespace hipo {
44

5-
void LogHighs::setOptions(const HighsLogOptions& log_options) {
6-
log_options_ = &log_options;
5+
void LogHighs::setOptions(const HighsLogOptions* log_options) {
6+
log_options_ = log_options;
77
}
88

99
bool LogHighs::debug(Int level) const {

highs/ipm/hipo/ipm/LogHighs.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ class LogHighs : public Log {
1212
const HighsLogOptions* log_options_;
1313

1414
public:
15-
void setOptions(const HighsLogOptions& log_options);
15+
void setOptions(const HighsLogOptions* log_options);
1616
bool debug(Int level) const override;
1717

1818
void print(std::stringstream& ss) const override;

highs/ipm/hipo/ipm/Options.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ struct Options {
5454
bool display = true;
5555
bool display_ipx = false;
5656
bool timeless_log = false;
57+
const HighsLogOptions* log_options = nullptr;
5758
};
5859

5960
} // namespace hipo

highs/ipm/hipo/ipm/Solver.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,14 @@ Int Solver::load(const Int num_var, const Int num_con, const double* obj,
2929
return 0;
3030
}
3131

32-
void Solver::set(const Options& options, const HighsLogOptions& log_options,
33-
HighsCallback& callback, const HighsTimer& timer) {
32+
void Solver::setOptions(const Options& options) {
3433
options_ = options;
35-
if (options_.display) logH_.setOptions(log_options);
34+
if (options_.display) logH_.setOptions(options_.log_options);
35+
}
36+
void Solver::setCallback(HighsCallback& callback) {
3637
control_.setCallback(callback);
37-
control_.setTimer(timer);
38-
control_.setOptions(options);
3938
}
39+
void Solver::setTimer(const HighsTimer& timer) { control_.setTimer(timer); }
4040

4141
void Solver::solve() {
4242
if (!model_.ready()) {

highs/ipm/hipo/ipm/Solver.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,8 +93,9 @@ class Solver {
9393
// ===================================================================================
9494
// Specify options, callback and timer.
9595
// ===================================================================================
96-
void set(const Options& options, const HighsLogOptions& log_options,
97-
HighsCallback& callback, const HighsTimer& timer);
96+
void setOptions(const Options& options);
97+
void setCallback(HighsCallback& callback);
98+
void setTimer(const HighsTimer& timer);
9899

99100
// ===================================================================================
100101
// Solve the LP

0 commit comments

Comments
 (0)