Skip to content

Commit 2a53ae8

Browse files
authored
Merge pull request #2828 from ERGO-Code/fix-2826
Fix 2826
2 parents 84a041f + 7a4d1b4 commit 2a53ae8

File tree

1 file changed

+17
-16
lines changed

1 file changed

+17
-16
lines changed

highs/simplex/HApp.h

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
#ifndef SIMPLEX_HAPP_H_
99
#define SIMPLEX_HAPP_H_
1010

11+
#include <cmath>
1112
// todo: clear includes.
1213
// #include <cstring>
1314
// #include <fstream>
@@ -44,33 +45,33 @@ inline HighsStatus returnFromSolveLpSimplex(HighsLpSolverObject& solver_object,
4445
// will generally be one after simplex, so have to deduce whether
4546
// there was one before
4647
HighsInt sub_solver_ix = -1;
47-
if (solver_object.sub_solver_call_time_.run_time[kSubSolverDuSimplexBasis] <
48-
0)
48+
if (std::signbit(solver_object.sub_solver_call_time_
49+
.run_time[kSubSolverDuSimplexBasis]))
4950
sub_solver_ix = kSubSolverDuSimplexBasis;
50-
if (solver_object.sub_solver_call_time_.run_time[kSubSolverDuSimplexNoBasis] <
51-
0)
51+
if (std::signbit(solver_object.sub_solver_call_time_
52+
.run_time[kSubSolverDuSimplexNoBasis]))
5253
sub_solver_ix = kSubSolverDuSimplexNoBasis;
53-
if (solver_object.sub_solver_call_time_.run_time[kSubSolverPrSimplexBasis] <
54-
0)
54+
if (std::signbit(solver_object.sub_solver_call_time_
55+
.run_time[kSubSolverPrSimplexBasis]))
5556
sub_solver_ix = kSubSolverPrSimplexBasis;
56-
if (solver_object.sub_solver_call_time_.run_time[kSubSolverPrSimplexNoBasis] <
57-
0)
57+
if (std::signbit(solver_object.sub_solver_call_time_
58+
.run_time[kSubSolverPrSimplexNoBasis]))
5859
sub_solver_ix = kSubSolverPrSimplexNoBasis;
5960
// Ensure that one clock has been identified
6061
assert(sub_solver_ix >= 0);
6162
// Check that only one clock was started
6263
if (sub_solver_ix != kSubSolverDuSimplexBasis)
63-
assert(solver_object.sub_solver_call_time_
64-
.run_time[kSubSolverDuSimplexBasis] >= 0);
64+
assert(!std::signbit(solver_object.sub_solver_call_time_
65+
.run_time[kSubSolverDuSimplexBasis]));
6566
if (sub_solver_ix != kSubSolverDuSimplexNoBasis)
66-
assert(solver_object.sub_solver_call_time_
67-
.run_time[kSubSolverDuSimplexNoBasis] >= 0);
67+
assert(!std::signbit(solver_object.sub_solver_call_time_
68+
.run_time[kSubSolverDuSimplexNoBasis]));
6869
if (sub_solver_ix != kSubSolverPrSimplexBasis)
69-
assert(solver_object.sub_solver_call_time_
70-
.run_time[kSubSolverPrSimplexBasis] >= 0);
70+
assert(!std::signbit(solver_object.sub_solver_call_time_
71+
.run_time[kSubSolverPrSimplexBasis]));
7172
if (sub_solver_ix != kSubSolverPrSimplexNoBasis)
72-
assert(solver_object.sub_solver_call_time_
73-
.run_time[kSubSolverPrSimplexNoBasis] >= 0);
73+
assert(!std::signbit(solver_object.sub_solver_call_time_
74+
.run_time[kSubSolverPrSimplexNoBasis]));
7475
// Update the call count and run time
7576
solver_object.sub_solver_call_time_.num_call[sub_solver_ix]++;
7677
solver_object.sub_solver_call_time_.run_time[sub_solver_ix] +=

0 commit comments

Comments
 (0)