diff --git a/lemon/hartmann_orlin.h b/lemon/hartmann_orlin.h
--- a/lemon/hartmann_orlin.h
+++ b/lemon/hartmann_orlin.h
@@ -282,6 +282,24 @@
return *this;
}
+ /// \brief Set the tolerance used by the algorithm.
+ ///
+ /// This function sets the tolerance object used by the algorithm.
+ ///
+ /// \return (*this)
+ HartmannOrlin& tolerance(const Tolerance& tolerance) {
+ _tolerance = tolerance;
+ return *this;
+ }
+
+ /// \brief Return a const reference to the tolerance.
+ ///
+ /// This function returns a const reference to the tolerance object
+ /// used by the algorithm.
+ const Tolerance& tolerance() const {
+ return _tolerance;
+ }
+
/// \name Execution control
/// The simplest way to execute the algorithm is to call the \ref run()
/// function.\n
diff --git a/lemon/howard.h b/lemon/howard.h
--- a/lemon/howard.h
+++ b/lemon/howard.h
@@ -273,6 +273,24 @@
return *this;
}
+ /// \brief Set the tolerance used by the algorithm.
+ ///
+ /// This function sets the tolerance object used by the algorithm.
+ ///
+ /// \return (*this)
+ Howard& tolerance(const Tolerance& tolerance) {
+ _tolerance = tolerance;
+ return *this;
+ }
+
+ /// \brief Return a const reference to the tolerance.
+ ///
+ /// This function returns a const reference to the tolerance object
+ /// used by the algorithm.
+ const Tolerance& tolerance() const {
+ return _tolerance;
+ }
+
/// \name Execution control
/// The simplest way to execute the algorithm is to call the \ref run()
/// function.\n
diff --git a/lemon/karp.h b/lemon/karp.h
--- a/lemon/karp.h
+++ b/lemon/karp.h
@@ -278,6 +278,24 @@
return *this;
}
+ /// \brief Set the tolerance used by the algorithm.
+ ///
+ /// This function sets the tolerance object used by the algorithm.
+ ///
+ /// \return (*this)
+ Karp& tolerance(const Tolerance& tolerance) {
+ _tolerance = tolerance;
+ return *this;
+ }
+
+ /// \brief Return a const reference to the tolerance.
+ ///
+ /// This function returns a const reference to the tolerance object
+ /// used by the algorithm.
+ const Tolerance& tolerance() const {
+ return _tolerance;
+ }
+
/// \name Execution control
/// The simplest way to execute the algorithm is to call the \ref run()
/// function.\n
diff --git a/test/min_mean_cycle_test.cc b/test/min_mean_cycle_test.cc
--- a/test/min_mean_cycle_test.cc
+++ b/test/min_mean_cycle_test.cc
@@ -78,6 +78,9 @@
MmcAlg mmc(me.g, me.length);
const MmcAlg& const_mmc = mmc;
+ typename MmcAlg::Tolerance tol = const_mmc.tolerance();
+ mmc.tolerance(tol);
+
b = mmc.cycle(p).run();
b = mmc.findMinMean();
b = mmc.findCycle();