summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJay Stanley <stanleyjs@users.noreply.github.com>2022-05-13 11:52:55 -0500
committerGitHub <noreply@github.com>2022-05-13 18:52:55 +0200
commitb001d7a15676ead5d9b38d57609fd390c3749f81 (patch)
treea6224031dc0b4c2bdde63235868b976c200ca25a
parentd6bf10d8502b1c69f58f009b16634a110053eca1 (diff)
remove calls to cerr (#377)
typo in releases
-rw-r--r--RELEASES.md2
-rw-r--r--ot/lp/network_simplex_simple.h4
-rw-r--r--ot/lp/network_simplex_simple_omp.h4
3 files changed, 4 insertions, 6 deletions
diff --git a/RELEASES.md b/RELEASES.md
index 76385d6..e761e64 100644
--- a/RELEASES.md
+++ b/RELEASES.md
@@ -10,6 +10,8 @@
- Fixed an issue where we could not ask TorchBackend to place a random tensor on GPU
(Issue #371, PR #373)
+- Fixed an issue where hitting iteration limits would be reported to stderr by std::cerr regardless of Python's stderr stream status.
+
## 0.8.2
diff --git a/ot/lp/network_simplex_simple.h b/ot/lp/network_simplex_simple.h
index 3b46b9b..5b1038f 100644
--- a/ot/lp/network_simplex_simple.h
+++ b/ot/lp/network_simplex_simple.h
@@ -1432,9 +1432,7 @@ namespace lemon {
// Execute the Network Simplex algorithm
while (pivot.findEnteringArc()) {
if(max_iter > 0 && ++iter_number>=max_iter&&max_iter>0){
- char errMess[1000];
- sprintf( errMess, "RESULT MIGHT BE INACURATE\nMax number of iteration reached, currently \%d. Sometimes iterations go on in cycle even though the solution has been reached, to check if it's the case here have a look at the minimal reduced cost. If it is very close to machine precision, you might actually have the correct solution, if not try setting the maximum number of iterations a bit higher\n",iter_number );
- std::cerr << errMess;
+ // max iterations hit
retVal = MAX_ITER_REACHED;
break;
}
diff --git a/ot/lp/network_simplex_simple_omp.h b/ot/lp/network_simplex_simple_omp.h
index 87e4c05..dde84fd 100644
--- a/ot/lp/network_simplex_simple_omp.h
+++ b/ot/lp/network_simplex_simple_omp.h
@@ -1610,9 +1610,7 @@ namespace lemon_omp {
} else {
- char errMess[1000];
- sprintf( errMess, "RESULT MIGHT BE INACURATE\nMax number of iteration reached, currently \%d. Sometimes iterations go on in cycle even though the solution has been reached, to check if it's the case here have a look at the minimal reduced cost. If it is very close to machine precision, you might actually have the correct solution, if not try setting the maximum number of iterations a bit higher\n",iter_number );
- std::cerr << errMess;
+ // max iters
retVal = MAX_ITER_REACHED;
break;
}