From b001d7a15676ead5d9b38d57609fd390c3749f81 Mon Sep 17 00:00:00 2001 From: Jay Stanley Date: Fri, 13 May 2022 11:52:55 -0500 Subject: remove calls to cerr (#377) typo in releases --- RELEASES.md | 2 ++ ot/lp/network_simplex_simple.h | 4 +--- ot/lp/network_simplex_simple_omp.h | 4 +--- 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; } -- cgit v1.2.3