... | ... |
@@ -35,19 +35,19 @@ |
35 | 35 |
///\brief A class to provide a basic way to |
36 | 36 |
///handle the comparison of numbers that are obtained |
37 | 37 |
///as a result of a probably inexact computation. |
38 | 38 |
/// |
39 | 39 |
///\ref Tolerance is a class to provide a basic way to |
40 | 40 |
///handle the comparison of numbers that are obtained |
41 | 41 |
///as a result of a probably inexact computation. |
42 | 42 |
/// |
43 |
///This is an abstract class, it should be specialized for all numerical |
|
44 |
///data types. These specialized classes like \ref Tolerance<double> |
|
45 |
/// |
|
43 |
///This is an abstract class, it should be specialized for all |
|
44 |
///numerical data types. These specialized classes like |
|
45 |
///Tolerance<double> may offer additional tuning parameters. |
|
46 | 46 |
/// |
47 | 47 |
///\sa Tolerance<float> |
48 | 48 |
///\sa Tolerance<double> |
49 | 49 |
///\sa Tolerance<long double> |
50 | 50 |
///\sa Tolerance<int> |
51 | 51 |
///\sa Tolerance<long long int> |
52 | 52 |
///\sa Tolerance<unsigned int> |
53 | 53 |
///\sa Tolerance<unsigned long long int> |
... | ... |
@@ -112,17 +112,17 @@ |
112 | 112 |
void epsilon(Value e) {_epsilon=e;} |
113 | 113 |
|
114 | 114 |
///Returns the default epsilon value. |
115 | 115 |
static Value defaultEpsilon() {return def_epsilon;} |
116 | 116 |
///Sets the default epsilon value. |
117 | 117 |
static void defaultEpsilon(Value e) {def_epsilon=e;} |
118 | 118 |
|
119 | 119 |
///\name Comparisons |
120 |
///See \ref Tolerance for more details. |
|
120 |
///See \ref lemon::Tolerance "Tolerance" for more details. |
|
121 | 121 |
|
122 | 122 |
///@{ |
123 | 123 |
|
124 | 124 |
///Returns \c true if \c a is \e surely strictly less than \c b |
125 | 125 |
bool less(Value a,Value b) const {return a+_epsilon<b;} |
126 | 126 |
///Returns \c true if \c a is \e surely different from \c b |
127 | 127 |
bool different(Value a,Value b) const { return less(a,b)||less(b,a); } |
128 | 128 |
///Returns \c true if \c a is \e surely positive |
... | ... |
@@ -163,17 +163,17 @@ |
163 | 163 |
void epsilon(Value e) {_epsilon=e;} |
164 | 164 |
|
165 | 165 |
///Returns the default epsilon value. |
166 | 166 |
static Value defaultEpsilon() {return def_epsilon;} |
167 | 167 |
///Sets the default epsilon value. |
168 | 168 |
static void defaultEpsilon(Value e) {def_epsilon=e;} |
169 | 169 |
|
170 | 170 |
///\name Comparisons |
171 |
///See \ref Tolerance for more details. |
|
171 |
///See \ref lemon::Tolerance "Tolerance" for more details. |
|
172 | 172 |
|
173 | 173 |
///@{ |
174 | 174 |
|
175 | 175 |
///Returns \c true if \c a is \e surely strictly less than \c b |
176 | 176 |
bool less(Value a,Value b) const {return a+_epsilon<b;} |
177 | 177 |
///Returns \c true if \c a is \e surely different from \c b |
178 | 178 |
bool different(Value a,Value b) const { return less(a,b)||less(b,a); } |
179 | 179 |
///Returns \c true if \c a is \e surely positive |
... | ... |
@@ -214,17 +214,17 @@ |
214 | 214 |
void epsilon(Value e) {_epsilon=e;} |
215 | 215 |
|
216 | 216 |
///Returns the default epsilon value. |
217 | 217 |
static Value defaultEpsilon() {return def_epsilon;} |
218 | 218 |
///Sets the default epsilon value. |
219 | 219 |
static void defaultEpsilon(Value e) {def_epsilon=e;} |
220 | 220 |
|
221 | 221 |
///\name Comparisons |
222 |
///See \ref Tolerance for more details. |
|
222 |
///See \ref lemon::Tolerance "Tolerance" for more details. |
|
223 | 223 |
|
224 | 224 |
///@{ |
225 | 225 |
|
226 | 226 |
///Returns \c true if \c a is \e surely strictly less than \c b |
227 | 227 |
bool less(Value a,Value b) const {return a+_epsilon<b;} |
228 | 228 |
///Returns \c true if \c a is \e surely different from \c b |
229 | 229 |
bool different(Value a,Value b) const { return less(a,b)||less(b,a); } |
230 | 230 |
///Returns \c true if \c a is \e surely positive |
... | ... |
@@ -247,17 +247,17 @@ |
247 | 247 |
template<> |
248 | 248 |
class Tolerance<int> |
249 | 249 |
{ |
250 | 250 |
public: |
251 | 251 |
///\e |
252 | 252 |
typedef int Value; |
253 | 253 |
|
254 | 254 |
///\name Comparisons |
255 |
///See \ref Tolerance for more details. |
|
255 |
///See \ref lemon::Tolerance "Tolerance" for more details. |
|
256 | 256 |
|
257 | 257 |
///@{ |
258 | 258 |
|
259 | 259 |
///Returns \c true if \c a is \e surely strictly less than \c b |
260 | 260 |
static bool less(Value a,Value b) { return a<b;} |
261 | 261 |
///Returns \c true if \c a is \e surely different from \c b |
262 | 262 |
static bool different(Value a,Value b) { return a!=b; } |
263 | 263 |
///Returns \c true if \c a is \e surely positive |
... | ... |
@@ -270,27 +270,27 @@ |
270 | 270 |
///@} |
271 | 271 |
|
272 | 272 |
///Returns zero |
273 | 273 |
static Value zero() {return 0;} |
274 | 274 |
}; |
275 | 275 |
|
276 | 276 |
///Unsigned integer specialization of Tolerance. |
277 | 277 |
|
278 |
///Unsigned integer specialization of |
|
278 |
///Unsigned integer specialization of Tolerance. |
|
279 | 279 |
///\sa Tolerance |
280 | 280 |
template<> |
281 | 281 |
class Tolerance<unsigned int> |
282 | 282 |
{ |
283 | 283 |
public: |
284 | 284 |
///\e |
285 | 285 |
typedef unsigned int Value; |
286 | 286 |
|
287 | 287 |
///\name Comparisons |
288 |
///See \ref Tolerance for more details. |
|
288 |
///See \ref lemon::Tolerance "Tolerance" for more details. |
|
289 | 289 |
|
290 | 290 |
///@{ |
291 | 291 |
|
292 | 292 |
///Returns \c true if \c a is \e surely strictly less than \c b |
293 | 293 |
static bool less(Value a,Value b) { return a<b;} |
294 | 294 |
///Returns \c true if \c a is \e surely different from \c b |
295 | 295 |
static bool different(Value a,Value b) { return a!=b; } |
296 | 296 |
///Returns \c true if \c a is \e surely positive |
... | ... |
@@ -314,17 +314,17 @@ |
314 | 314 |
template<> |
315 | 315 |
class Tolerance<long int> |
316 | 316 |
{ |
317 | 317 |
public: |
318 | 318 |
///\e |
319 | 319 |
typedef long int Value; |
320 | 320 |
|
321 | 321 |
///\name Comparisons |
322 |
///See \ref Tolerance for more details. |
|
322 |
///See \ref lemon::Tolerance "Tolerance" for more details. |
|
323 | 323 |
|
324 | 324 |
///@{ |
325 | 325 |
|
326 | 326 |
///Returns \c true if \c a is \e surely strictly less than \c b |
327 | 327 |
static bool less(Value a,Value b) { return a<b;} |
328 | 328 |
///Returns \c true if \c a is \e surely different from \c b |
329 | 329 |
static bool different(Value a,Value b) { return a!=b; } |
330 | 330 |
///Returns \c true if \c a is \e surely positive |
... | ... |
@@ -337,27 +337,27 @@ |
337 | 337 |
///@} |
338 | 338 |
|
339 | 339 |
///Returns zero |
340 | 340 |
static Value zero() {return 0;} |
341 | 341 |
}; |
342 | 342 |
|
343 | 343 |
///Unsigned long integer specialization of Tolerance. |
344 | 344 |
|
345 |
///Unsigned long integer specialization of |
|
345 |
///Unsigned long integer specialization of Tolerance. |
|
346 | 346 |
///\sa Tolerance |
347 | 347 |
template<> |
348 | 348 |
class Tolerance<unsigned long int> |
349 | 349 |
{ |
350 | 350 |
public: |
351 | 351 |
///\e |
352 | 352 |
typedef unsigned long int Value; |
353 | 353 |
|
354 | 354 |
///\name Comparisons |
355 |
///See \ref Tolerance for more details. |
|
355 |
///See \ref lemon::Tolerance "Tolerance" for more details. |
|
356 | 356 |
|
357 | 357 |
///@{ |
358 | 358 |
|
359 | 359 |
///Returns \c true if \c a is \e surely strictly less than \c b |
360 | 360 |
static bool less(Value a,Value b) { return a<b;} |
361 | 361 |
///Returns \c true if \c a is \e surely different from \c b |
362 | 362 |
static bool different(Value a,Value b) { return a!=b; } |
363 | 363 |
///Returns \c true if \c a is \e surely positive |
... | ... |
@@ -372,29 +372,29 @@ |
372 | 372 |
///Returns zero |
373 | 373 |
static Value zero() {return 0;} |
374 | 374 |
}; |
375 | 375 |
|
376 | 376 |
#if defined __GNUC__ && !defined __STRICT_ANSI__ |
377 | 377 |
|
378 | 378 |
///Long long integer specialization of Tolerance. |
379 | 379 |
|
380 |
///Long long integer specialization of |
|
380 |
///Long long integer specialization of Tolerance. |
|
381 | 381 |
///\warning This class (more exactly, type <tt>long long</tt>) |
382 | 382 |
///is not ansi compatible. |
383 | 383 |
///\sa Tolerance |
384 | 384 |
template<> |
385 | 385 |
class Tolerance<long long int> |
386 | 386 |
{ |
387 | 387 |
public: |
388 | 388 |
///\e |
389 | 389 |
typedef long long int Value; |
390 | 390 |
|
391 | 391 |
///\name Comparisons |
392 |
///See \ref Tolerance for more details. |
|
392 |
///See \ref lemon::Tolerance "Tolerance" for more details. |
|
393 | 393 |
|
394 | 394 |
///@{ |
395 | 395 |
|
396 | 396 |
///Returns \c true if \c a is \e surely strictly less than \c b |
397 | 397 |
static bool less(Value a,Value b) { return a<b;} |
398 | 398 |
///Returns \c true if \c a is \e surely different from \c b |
399 | 399 |
static bool different(Value a,Value b) { return a!=b; } |
400 | 400 |
///Returns \c true if \c a is \e surely positive |
... | ... |
@@ -407,29 +407,29 @@ |
407 | 407 |
///@} |
408 | 408 |
|
409 | 409 |
///Returns zero |
410 | 410 |
static Value zero() {return 0;} |
411 | 411 |
}; |
412 | 412 |
|
413 | 413 |
///Unsigned long long integer specialization of Tolerance. |
414 | 414 |
|
415 |
///Unsigned long long integer specialization of |
|
415 |
///Unsigned long long integer specialization of Tolerance. |
|
416 | 416 |
///\warning This class (more exactly, type <tt>unsigned long long</tt>) |
417 | 417 |
///is not ansi compatible. |
418 | 418 |
///\sa Tolerance |
419 | 419 |
template<> |
420 | 420 |
class Tolerance<unsigned long long int> |
421 | 421 |
{ |
422 | 422 |
public: |
423 | 423 |
///\e |
424 | 424 |
typedef unsigned long long int Value; |
425 | 425 |
|
426 | 426 |
///\name Comparisons |
427 |
///See \ref Tolerance for more details. |
|
427 |
///See \ref lemon::Tolerance "Tolerance" for more details. |
|
428 | 428 |
|
429 | 429 |
///@{ |
430 | 430 |
|
431 | 431 |
///Returns \c true if \c a is \e surely strictly less than \c b |
432 | 432 |
static bool less(Value a,Value b) { return a<b;} |
433 | 433 |
///Returns \c true if \c a is \e surely different from \c b |
434 | 434 |
static bool different(Value a,Value b) { return a!=b; } |
435 | 435 |
///Returns \c true if \c a is \e surely positive |
0 comments (0 inline)