0
4
0
... | ... |
@@ -273,24 +273,42 @@ |
273 | 273 |
/// "addFront()" function of the given path structure. |
274 | 274 |
/// |
275 | 275 |
/// \return <tt>(*this)</tt> |
276 | 276 |
HartmannOrlin& cycle(Path &path) { |
277 | 277 |
if (_local_path) { |
278 | 278 |
delete _cycle_path; |
279 | 279 |
_local_path = false; |
280 | 280 |
} |
281 | 281 |
_cycle_path = &path; |
282 | 282 |
return *this; |
283 | 283 |
} |
284 | 284 |
|
285 |
/// \brief Set the tolerance used by the algorithm. |
|
286 |
/// |
|
287 |
/// This function sets the tolerance object used by the algorithm. |
|
288 |
/// |
|
289 |
/// \return <tt>(*this)</tt> |
|
290 |
HartmannOrlin& tolerance(const Tolerance& tolerance) { |
|
291 |
_tolerance = tolerance; |
|
292 |
return *this; |
|
293 |
} |
|
294 |
|
|
295 |
/// \brief Return a const reference to the tolerance. |
|
296 |
/// |
|
297 |
/// This function returns a const reference to the tolerance object |
|
298 |
/// used by the algorithm. |
|
299 |
const Tolerance& tolerance() const { |
|
300 |
return _tolerance; |
|
301 |
} |
|
302 |
|
|
285 | 303 |
/// \name Execution control |
286 | 304 |
/// The simplest way to execute the algorithm is to call the \ref run() |
287 | 305 |
/// function.\n |
288 | 306 |
/// If you only need the minimum mean length, you may call |
289 | 307 |
/// \ref findMinMean(). |
290 | 308 |
|
291 | 309 |
/// @{ |
292 | 310 |
|
293 | 311 |
/// \brief Run the algorithm. |
294 | 312 |
/// |
295 | 313 |
/// This function runs the algorithm. |
296 | 314 |
/// It can be called more than once (e.g. if the underlying digraph |
... | ... |
@@ -264,24 +264,42 @@ |
264 | 264 |
/// "addBack()" function of the given path structure. |
265 | 265 |
/// |
266 | 266 |
/// \return <tt>(*this)</tt> |
267 | 267 |
Howard& cycle(Path &path) { |
268 | 268 |
if (_local_path) { |
269 | 269 |
delete _cycle_path; |
270 | 270 |
_local_path = false; |
271 | 271 |
} |
272 | 272 |
_cycle_path = &path; |
273 | 273 |
return *this; |
274 | 274 |
} |
275 | 275 |
|
276 |
/// \brief Set the tolerance used by the algorithm. |
|
277 |
/// |
|
278 |
/// This function sets the tolerance object used by the algorithm. |
|
279 |
/// |
|
280 |
/// \return <tt>(*this)</tt> |
|
281 |
Howard& tolerance(const Tolerance& tolerance) { |
|
282 |
_tolerance = tolerance; |
|
283 |
return *this; |
|
284 |
} |
|
285 |
|
|
286 |
/// \brief Return a const reference to the tolerance. |
|
287 |
/// |
|
288 |
/// This function returns a const reference to the tolerance object |
|
289 |
/// used by the algorithm. |
|
290 |
const Tolerance& tolerance() const { |
|
291 |
return _tolerance; |
|
292 |
} |
|
293 |
|
|
276 | 294 |
/// \name Execution control |
277 | 295 |
/// The simplest way to execute the algorithm is to call the \ref run() |
278 | 296 |
/// function.\n |
279 | 297 |
/// If you only need the minimum mean length, you may call |
280 | 298 |
/// \ref findMinMean(). |
281 | 299 |
|
282 | 300 |
/// @{ |
283 | 301 |
|
284 | 302 |
/// \brief Run the algorithm. |
285 | 303 |
/// |
286 | 304 |
/// This function runs the algorithm. |
287 | 305 |
/// It can be called more than once (e.g. if the underlying digraph |
... | ... |
@@ -269,24 +269,42 @@ |
269 | 269 |
/// "addFront()" function of the given path structure. |
270 | 270 |
/// |
271 | 271 |
/// \return <tt>(*this)</tt> |
272 | 272 |
Karp& cycle(Path &path) { |
273 | 273 |
if (_local_path) { |
274 | 274 |
delete _cycle_path; |
275 | 275 |
_local_path = false; |
276 | 276 |
} |
277 | 277 |
_cycle_path = &path; |
278 | 278 |
return *this; |
279 | 279 |
} |
280 | 280 |
|
281 |
/// \brief Set the tolerance used by the algorithm. |
|
282 |
/// |
|
283 |
/// This function sets the tolerance object used by the algorithm. |
|
284 |
/// |
|
285 |
/// \return <tt>(*this)</tt> |
|
286 |
Karp& tolerance(const Tolerance& tolerance) { |
|
287 |
_tolerance = tolerance; |
|
288 |
return *this; |
|
289 |
} |
|
290 |
|
|
291 |
/// \brief Return a const reference to the tolerance. |
|
292 |
/// |
|
293 |
/// This function returns a const reference to the tolerance object |
|
294 |
/// used by the algorithm. |
|
295 |
const Tolerance& tolerance() const { |
|
296 |
return _tolerance; |
|
297 |
} |
|
298 |
|
|
281 | 299 |
/// \name Execution control |
282 | 300 |
/// The simplest way to execute the algorithm is to call the \ref run() |
283 | 301 |
/// function.\n |
284 | 302 |
/// If you only need the minimum mean length, you may call |
285 | 303 |
/// \ref findMinMean(). |
286 | 304 |
|
287 | 305 |
/// @{ |
288 | 306 |
|
289 | 307 |
/// \brief Run the algorithm. |
290 | 308 |
/// |
291 | 309 |
/// This function runs the algorithm. |
292 | 310 |
/// It can be called more than once (e.g. if the underlying digraph |
... | ... |
@@ -69,24 +69,27 @@ |
69 | 69 |
template <typename MMC> |
70 | 70 |
struct Constraints { |
71 | 71 |
void constraints() { |
72 | 72 |
const Constraints& me = *this; |
73 | 73 |
|
74 | 74 |
typedef typename MMC |
75 | 75 |
::template SetPath<ListPath<GR> > |
76 | 76 |
::template SetLargeValue<Value> |
77 | 77 |
::Create MmcAlg; |
78 | 78 |
MmcAlg mmc(me.g, me.length); |
79 | 79 |
const MmcAlg& const_mmc = mmc; |
80 | 80 |
|
81 |
typename MmcAlg::Tolerance tol = const_mmc.tolerance(); |
|
82 |
mmc.tolerance(tol); |
|
83 |
|
|
81 | 84 |
b = mmc.cycle(p).run(); |
82 | 85 |
b = mmc.findMinMean(); |
83 | 86 |
b = mmc.findCycle(); |
84 | 87 |
|
85 | 88 |
v = const_mmc.cycleLength(); |
86 | 89 |
i = const_mmc.cycleArcNum(); |
87 | 90 |
d = const_mmc.cycleMean(); |
88 | 91 |
p = const_mmc.cycle(); |
89 | 92 |
} |
90 | 93 |
|
91 | 94 |
typedef concepts::ReadMap<typename GR::Arc, Value> LM; |
92 | 95 |
|
0 comments (0 inline)