Skip to content

Commit 0196aa5

Browse files
authored
Merge pull request #2827 from Bubblyworld/bubblyworld-fix
fix: replace less-than-zero check with std::signbit
2 parents b89f68d + 267d84b commit 0196aa5

1 file changed

Lines changed: 17 additions & 16 deletions

File tree

‎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)